Date: Sun, 22 Sep 2002 21:24:48 -0700 From: Alfred Perlstein <bright@mu.org> To: Juli Mallett <jmallett@FreeBSD.org> Cc: Jeff Roberson <jroberson@chesapeake.net>, Greg 'groggy' Lehey <grog@FreeBSD.org>, Jeff Roberson <jeff@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_alq.c src/sys/sys alq.h Message-ID: <20020923042448.GF6262@elvis.mu.org> In-Reply-To: <20020922202803.A95505@FreeBSD.org> References: <20020923003727.GM21093@wantadilla.lemis.com> <20020922211607.E43954-100000@mail.chesapeake.net> <20020923020717.GC6262@elvis.mu.org> <20020922202803.A95505@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
* Juli Mallett <jmallett@FreeBSD.org> [020922 20:28] wrote: > * De: Alfred Perlstein <bright@mu.org> [ Data: 2002-09-22 ] > [ Subjecte: Re: cvs commit: src/sys/kern kern_alq.c src/sys/sys alq.h ] > > * Jeff Roberson <jroberson@chesapeake.net> [020922 18:28] wrote: > > > On Mon, 23 Sep 2002, Greg 'groggy' Lehey wrote: > > > > > > > On Sunday, 22 September 2002 at 0:11:14 -0700, Jeff Roberson wrote: > > > > > jeff 2002/09/22 00:11:14 PDT > > > > > > > > > > Added files: > > > > > sys/kern kern_alq.c > > > > > sys/sys alq.h > > > > > Log: > > > > > - Add an asynchronous fixed length record logging mechanism called > > > > > ALQ (Asynch. Logging Queues). ALQ supports many seperate queues with > > > > > different record and buffer sizes. It opens and logs to any vnode so > > > > > it can be used with character devices as well as regular files. > > > > > > > > What's the purpose of this functionality? > > > > > > > > Greg > > > > -- > > > > See complete headers for address and phone numbers > > > > > > > > > > Well, for now it's only used by ktr. I believe that it could be applied > > > to other areas as well. In general I need it for recording long term > > > events such as disk or network activity for post analysis. It could also > > > be useful for diagnosing problems with VFS by logging all VOPs via ktr. > > > > > > It could also be used for logging binary kernel data w/o going through > > > ktr. Any subsystem could create a queue and record it's actions over a > > > long period. ktrace could be implemented on top of an ALQ, although this > > > would be slightly more difficult since it does not use fixed length > > > records. > > > > Have you thought of running it into a fifo with gzip waiting on the > > other side? I guess that could sort of cause an infinite loop if > > you were recording certain process/vnode interaction unless it was > > batched up somehow. > > Add an ALQ mutex to a vnode, and check for recursion? It's not really recursion, it's the fact that running gzip may cause more information to be written to the pipe that gzip is reading from. I think adding an ALQ _flag_ (you meant flag right?) to the proc struct to prevent ~recursion~ would work. Then again I am wildly speculating about something I should probably UTSL about first. :) -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020923042448.GF6262>