Messages in this thread | | | Date | Sun, 20 Jul 2008 10:31:26 +0200 | From | Ingo Molnar <> | Subject | Re: [patch 0/3] fastboot patches series 1 |
| |
* Arjan van de Ven <arjan@infradead.org> wrote:
> 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)
nice idea - and i like the way it's done gradually. Most previous attempts at "parallel bootup" had the fundamental problem if trying to do too much at once.
I've created a tip/fastboot experimental/test topic for this and pushed it out. (see the URI below)
It's not integrated into tip/master yet - is the problem reported by Simon Arlott understood?
Ingo
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git fastboot
------------------> Arjan van de Ven (3): fastboot: create a "asynchronous" initlevel fastboot: turn the USB hostcontroller initcalls into async initcalls fastboot: convert a few non-critical ACPI drivers to async initcalls
| |