[patch 0/3] fastboot patches series 1

Arjan van de Ven
2008-07-18T22:18:01Z

Hi,

this 3 patch series introduces the concept of "asynchronous initcalls".
This is a new initcall level (6a) that has the following semantics:
1) Level 6a gets run asynchronously from the regular "driver" initcalls
2) Level 6a starts after level 5 (fs_initcall).
3) Within the 6a category, the initcalls are processed sequentially;
there is no parallelism between them. The parallelism is more
like a bottom halve than it is like a softirq this way.
This is a nice property since it leads to predictable device ordering
while being able to move various pieces out of the critical boot path
4) The kernel will synchronize at the end of all initcalls to insure
that we don't free initmem until all this is done (trust me, we need
this)

With these 3 patches I managed to shave off 0.4 seconds off my kernel
boot (this may sound little, but it's a reduction from 1.9 seconds to a
little under 1.5 seconds, which is significant both compared to the
kernel boot time as well as the full distro boot time on this box)

--
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings,
visit http://www.lesswatts.org