Re: Boot time: Kernel start parallelization issue?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15.01.2011 17:18, Dirk Behme wrote:
On 15.01.2011 16:41, Arjan van de Ven wrote:
On 1/15/2011 12:40 AM, Dirk Behme wrote:

There are some reports [1] [2] looking at the boot time of embedded
(ARM?) systems using initcall debug [3]. Both reports seem to show
that they have issues with the start up sequence of the kernel being
completely single-threaded. In [2] Greg mentions that on a x86 box
multi-threads are happening and that there he doesn't see this
issue. On the other hand, both reports mention Arjan's async
initcall patches [4] to help against the issue. I.e. introducing
some parallelization (on ARM) does help, too.

With this, I wonder

- if anybody faces similar issues with single-threaded only kernel
start on embedded (ARM?) systems? Or if this is known? Or if there
are fixes for this?

- if we somehow should try to 're-activate' Arjan's async initcall
patches?

those patches are obsoleted by the merged async_schedule() calls.

Any link (patch name, git link) to be able to check for
async_schedule() calls?

Do you talk about

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=22a9d645677feefd402befd02edd59b122289ef1
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ace92fc112c6069b4fcb95a31d3142d4a43ff2a
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=793180570ff2530d133343ceea85648de5f01b02
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f29d3b23238e1955a8094e038c72546e99308e61

http://lwn.net/Articles/314808/

merged with 2.6.29?

With a recent .37 kernel the usage of async_schedule() seems to be implemented for

./drivers/acpi/battery.c
./drivers/s390/block/dasd.c
./drivers/base/power/main.c
./drivers/ata/libata-core.c
./drivers/scsi/sd.c
./drivers/md/raid5.c

With this, on an embedded system using none of this, the completely single-threaded start up reported in [2] seems to be reasonable, then?

This would mean that to improve the issues reported in [2], async_schedule() has to be implemented for the sub systems used, there, too? I.e. the USB init?

what kernel are you seeing issues on?

[1] talks about 2.6.28, [2] talks about 2.6.34.

Thanks

Dirk

[1]
http://www.lindusembedded.com/blog/2010/06/02/measuring-the-boot-time-of-an-embedded-linux-device/


[2] http://thread.gmane.org/gmane.linux.usb.general/41181 (mainly the
last mail of this thread:
http://article.gmane.org/gmane.linux.usb.general/41619)

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux