Re: init's children list is long and slows reaping children.

Ingo Molnar
2007-04-10T08:59:16Z

* Russell King <rmk+lkml@arm.linux.org.uk> wrote:

> One per PC card socket to avoid the sysfs locking crappyness that
> would otherwise deadlock, and to convert from the old unreadable state
> machine implementation to a much more readable linearly coded
> implementation.
>
> Could probably be eliminated if we had some mechanism to spawn a
> helper thread to do some task as required which didn't block other
> helper threads until it completes.

looks like the perfect usecase for threadlets. (threadlets only use up a
separate context if necessary and can be coded in the familiar
sequential/linear model)

(btw., threadlets could in theory be executed in irq context too, and if
we block on anything it gets bounced off to a real context - although
this certainly pushes the limits and there would still be some deadlock
potential for things like irq-unsafe non-sleeping locks (spinlocks,
rwlocks).)

Ingo