LWN.net Logo

fastboot patches series 1

From:  Arjan van de Ven <arjan@infradead.org>
To:  linux-kernel@vger.kernel.org
Subject:  [patch 0/3] fastboot patches series 1
Date:  Fri, 18 Jul 2008 15:15:24 -0700
Message-ID:  <20080718151524.5ef9e29b@infradead.org>
Cc:  mingo@elte.hu
Archive-link:  Article, 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

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds