Re: [PATCH 00/11] Task watchers: Introduction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2006-06-21 at 15:41 +1000, Peter Williams wrote:
> Matt Helsley 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.
> > The goal is to keep the these paths comparatively simple while
> > enabling the addition of per-task intialization, monitoring, and tear-down
> > functions by existing and proposed kernel features.
> > 
> > The first patch adds a global atomic notifier chain, registration
> > functions, and a function to invoke the callers on the chain.
> > 
> > Later patches:
> > 
> > Register a task watcher for process events, shuffle bits of process events
> > functions around to reduce the code, and turn it into a module. 
> > 
> > Switch task watchers from an atomic to a blocking notifier chain
> > 
> > Register task watchers for:
> > 	Audit
> > 	Per Task Delay Accounting (note: not the taskstats calls)
> > 	Profile
> > 
> > Add a per-task raw notifier chain
> 
> This feature is less useful than it could be in that it only allows a 
> per-task raw notifier to be added to the current task.  For the per 
> process CPU capping client that I'm writing, I'd like to be able to 
> attach one of these to a task that's being forked (from the forking 
> task).  Not being able to do this will force me to go to the expense of 
> maintaining my own hash tables for locating my per task data.

	You're right. The patches are missing the bit that allows the per-task
watcher to be copied on fork. I've got an patch which I'll post and CC
you on shortly. What it does is allow register_per_task_watcher() to
register for the child task.

> On a related note, I can't see where the new task's notify field gets 
> initialized during fork.

It's initialized in kernel/sys.c:notify_per_task_watchers(), which calls
RAW_INIT_NOTIFIER_HEAD(&task->notify) in response to WATCH_TASK_INIT.

Cheers,
	-Matt Helsley

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux