![]() | |||||||||||
Messages in this thread |
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 | ||||||||||
| Last update: 2008-07-19 00:21 [from the cache] ©2003-2008 | |||||||||||