From: Matt H. <mat...@us...> - 2006-06-21 08:48:43
|
On Mon, 2006-06-19 at 03:24 -0700, Andrew Morton wrote: > On Tue, 13 Jun 2006 16:52:01 -0700 > Matt Helsley <mat...@us...> wrote: > > > Task watchers is a notifier chain that sends notifications to registered > > callers whenever a task forks, execs, changes its [re][ug]id, or exits. > > Seems a reasonable objective - it'll certainly curtail (indeed, reverse) > the ongoing proliferation of little subsystem-specific hooks all over the > core code, will allow us to remove some #includes from core code and should > permit some more things to be loaded as modules. > > But I do wonder if it would have been better to have separate chains for > each of WATCH_TASK_INIT, WATCH_TASK_EXEC, WATCH_TASK_UID, WATCH_TASK_GID, > WATCH_TASK_EXIT. That would reduce the number of elements which need to be > traversed at each event and would eliminate the need for demultiplexing at > each handler. It's a good idea, and should have the advantages you cited. My only concern is that each task watcher would have to (un)register multiple notifier blocks. I expect that in most cases there would only be two. Also, if we apply this to per-task notifiers it would mean that we'd have a 6 raw notifier heads per-task. Would you like me to redo the patches as multiple chains? Alternately, I could produce patches that apply on top of the current set. Cheers, -Matt Helsley PS: I've already picked up your warning fix. |