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

From: Jeff Garzik
Date: Tue Apr 10 2007 - 05:34:31 EST


Ingo Molnar wrote:
* Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> 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)

Same response as to Andrew: AFAICS that just increases complexity.

The simple path for programmers is writing straightforward code that does something like

blah
msleep()
blah

or in pccardd's case,

mutex_lock()
blah
mutex_unlock()

to permit sleeping without having to write more-complex code that deals with context transitions.

For slow-path, infrequently executed code, it is best to keep it as simple as possible.

Jeff


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