lkml.org 
[lkml]   [2008]   [Jul]   [20]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 20 Jul 2008 10:31:26 +0200
FromIngo Molnar <>
SubjectRe: [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

\
 
 \ /
  Last update: 2008-07-20 10:33    [from the cache]
©2003-2008