From: Jay L. <jl...@en...> - 2005-09-22 00:30:56
|
> > On 23 Feb 2005 Guillaume said, on this mailing list: > > Guillaume Thouvenin <gui...@bu...> wrote: > >>On Wed, 2005-02-23 at 00:51 -0800, Andrew Morton wrote: >> >>>... >>>The 2.6.8.1 ELSA patch adds quite a bit of kernel code, but from what >>>you're saying it seems like most of that has become redundant, and all >>>you now need is the fork notifier. Is that correct? >> >> Yes, that's correct. All I need is the fork connector patch. It needs >>more work like, as you said, sending an on/off message down the netlink >>socket. I'm working on this (thank you very much Andrew for your >>comments). > > > If this is still true for ELSA, what's different about your accounting > requirements? Andrew, ELSA does not collect system accounting raw data. It relies on BSD and CSA to provide accouting data via a pacct file in binary format. That is why ELSA does not need an exit notifier. ELSA allows users to view accounting data in terms of "job" (a group of processes). It relies on fork notifier to put pid's into one "job" container if it was forked from the same ppid. Thus, ELSA performs process grouping and data presentation functions. Per-process accounting data is accumulated at task and task->mm. These data need to be saved off somewhere before a task struct is freed. The action is triggered by an exit event. The BSD accounting has a function hook at do_exit() to do just that. What you like to see is to move fork/exit/exec event notification to userspace through a connector. However, a connector is a unreliable datagram socket. If we lose exit notification when system is extremely busy, we lose accounting data once task struct is freed. That is not what we have today. Today we have BSD function hook in the kernel to copy off the data. "pnotify" is not an accounting thing. It is viewed as an in-kernel event notification. Functionality-wise it is like a connector except that "pnotify" does event notification in the kernel while connector sends event notification to userspace. A fork notifier is used to do process grouping. An exit notifier is used to save off accounting data. System accounting needs a reliable event notifier. It is especially true on exit events. Does CKRM save off accounting data also? How is that done? Thanks, - jay > |