Re: [Patch 4/7] Add sysctl for delay accounting

Arjan van de Ven
2006-02-27T09:13:19Z

On Mon, 2006-02-27 at 14:34 +0530, Dipankar Sarma wrote:
> On Mon, Feb 27, 2006 at 09:42:23AM +0100, Arjan van de Ven wrote:
> > On Mon, 2006-02-27 at 03:38 -0500, Shailabh Nagar wrote:
> > > Arjan van de Ven wrote:
> > >
> > > The function needs to allocate task_delay_info structs for all tasks
> > > that might
> > > have been forked since the last time delay accounting was turned off.
> > > Either we have to count how many such tasks there are, or preallocate
> > > nr_tasks (as an upper bound) and then use as many as needed.
> >
> > it generally feels really fragile, especially with the task enumeration
> > going to RCU soon. (eg you'd lose the ability to lock out new task
> > creation)
>
> I haven't yet seen any RCU-based code that does this. Can you point out
> what patches you are talking about ? As of 2.6.16-rc4 and -rt15,
> AFAICS, you can count tasks by holding the read side of tasklist_lock.
> Granted it is a bit ugly to repeat this in order to overcome
> the race on dropping tasklist_lock for allocation.

there are several people (Christoph for one) who are working on making
the tasklist_lock go away entirely in favor of RCU-like locking...