Current Bootchart

Dr. H. Nikolaus Schaller hns at computer.org
Mon Jul 7 11:59:09 CEST 2008


Am 07.07.2008 um 11:48 schrieb Graeme Gregory:

> On Mon, Jul 07, 2008 at 11:36:38AM +0200, Alexey Feldgendler wrote:
>> On Sun, 06 Jul 2008 01:38:54 +0200, Fred Chien <fred at openmoko.com>  
>> wrote:
>>
>>> after collect informations, we can sum up the most important  
>>> issues for
>>> boot time:
>>>
>>> 1. initializing kernel(9 secs)
>>> 2. initializing boot splash (exquisite/exquisite-write)  (8 secs)
>>> 3. udev (udev/udevd) (29 secs)
>>> 4. updating dynamic library cache will waste a lot of time  
>>> (ldconfig)
>>> (18secs)
>>
>> Can (2) and (3) run at the same time?
>>
> I tested running udev init in background and total boot time remained
> unchanged. It is obviously resource limited.

As far as I understood the documentation it serializes events from  
hotplug. So each hotplugged device has to wait for its predecessor.

But what is hotplugged in the OM during boot? It looks like boot  
initialization is treated as hot-plugging. Appears to be similar to  
ldconfig which has a cache that does NOT need updates on boot.

* the first idea I have is to preinitialize devices by copying some  
files so that hotplug/udev hasn't to do so much work (i.e. taking a  
snapshot of the important files AFTER udev did run once, and provide  
that snapshot as part of the rootfs)
* or, if that does not work, only hotplug those devices that are  
essential for booting and postpone other until the GUI is running.

Since I am not a kernel specialist, I have no idea whether that works...

Nikolaus



More information about the openmoko-devel mailing list