* What's in fastboot.git for 2.6.28
@ 2008-09-20 18:00 Arjan van de Ven
2008-09-24 10:41 ` fastboot: usbmon WARNING Alan Jenkins
0 siblings, 1 reply; 3+ messages in thread
From: Arjan van de Ven @ 2008-09-20 18:00 UTC (permalink / raw)
To: linux-kernel; +Cc: torvalds, mingo
The fastboot.git tree has a set of patches (all posted and reviewed on lkml before)
that speed up the kernel boot process of the kernel.
There's 3 major pieces of this
1) The creation of an asynchronous initcall level (6a) that runs asynchronous from
the regular driver init, and is for non-boot critical initcalls only
2) A rework of the non-initrd boot code to try mounting /, and if that fails,
only THEN wait for all the various driver probings to finish (and then retry)
3) A tool "bootgraph.pl" that outputs a SVG graphic of where the kernel boot spends
its time
The following changes since commit 9824b8f11373b0df806c135a342da9319ef1d893:
Linus Torvalds (1):
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-fastboot.git master
Arjan van de Ven (15):
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
fastboot: hold the BKL over the async init call sequence
fastboot: sync the async execution before late_initcall and move level 6s (sync) first
fastboot: make fastboot a config option
modules: extend initcall_debug functionality to the module loader
fastboot: retry mounting the root fs if we can't find init
fastboot: make the raid autodetect code wait for all devices to init
fastboot: remove "wait for all devices before mounting root" delay
fastboot: make the RAID autostart code print a message just before waiting
fastboot: fix blackfin breakage due to vmlinux.lds change
Add a script to visualize the kernel boot process / time
fastboot: fix issues and improve output of bootgraph.pl
use the fancy new printk flags to print the function pointer
Arnaud Patard (1):
fastboot: Fix bootgraph.pl initcall name regexp
Ingo Molnar (5):
Merge branch 'linus' into fastboot
fastboot: fix typo in init/Kconfig text
warning: fix init do_mounts_md c
Merge branch 'linus' into fastboot
Merge commit 'v2.6.27-rc6' into fastboot
Li, Shaohua (1):
fastboot: remove duplicate unpack_to_rootfs()
Steven Noonan (1):
init/initramfs.c: unused function when compiling without CONFIG_BLK_DEV_RAM
drivers/acpi/battery.c | 2 +-
drivers/acpi/button.c | 2 +-
drivers/acpi/thermal.c | 2 +-
drivers/pci/pci.c | 2 +-
drivers/usb/host/ehci-hcd.c | 2 +-
drivers/usb/host/ohci-hcd.c | 2 +-
drivers/usb/host/uhci-hcd.c | 2 +-
include/asm-generic/vmlinux.lds.h | 6 +-
include/linux/init.h | 8 ++
init/Kconfig | 11 +++
init/do_mounts.c | 2 +
init/do_mounts_md.c | 29 ++++++--
init/initramfs.c | 73 +++++++++++++++----
init/main.c | 84 +++++++++++++++++++--
scripts/bootgraph.pl | 147 +++++++++++++++++++++++++++++++++++++
15 files changed, 337 insertions(+), 37 deletions(-)
create mode 100644 scripts/bootgraph.pl
--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* fastboot: usbmon WARNING
2008-09-20 18:00 What's in fastboot.git for 2.6.28 Arjan van de Ven
@ 2008-09-24 10:41 ` Alan Jenkins
2008-09-24 12:04 ` Arjan van de Ven
0 siblings, 1 reply; 3+ messages in thread
From: Alan Jenkins @ 2008-09-24 10:41 UTC (permalink / raw)
To: Arjan van de Ven; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 5273 bytes --]
Arjan van de Ven wrote:
> The fastboot.git tree has a set of patches (all posted and reviewed on lkml before)
> that speed up the kernel boot process of the kernel.
>
> There's 3 major pieces of this
> 1) The creation of an asynchronous initcall level (6a) that runs asynchronous from
> the regular driver init, and is for non-boot critical initcalls only
> 2) A rework of the non-initrd boot code to try mounting /, and if that fails,
> only THEN wait for all the various driver probings to finish (and then retry)
> 3) A tool "bootgraph.pl" that outputs a SVG graphic of where the kernel boot spends
> its time
Enabling fastboot makes usbmon (CONFIG_USB_MON) squawk, trying to create duplicate sysfs files.
I see mon_init is run in parallel with uhci_hcd_init (see attached bootgraph.pl output). Maybe it would go away if mon_init was also moved to the asynchronous runlevel - it should be non-boot critical.
And maybe this was a latent bug that needs fixing regardless.
Yours
Alan
[ 1.030041] usb 1-8: new high speed USB device using ehci_hcd and address 3
[ 1.030359] uhci_hcd 0000:00:1d.0: PCI INT A -> Link[LNKH] -> GSI 3 (level, low) -> IRQ 3
[ 1.030512] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[ 1.030522] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[ 1.030736] initcall piix_init+0x0/0x20 returned 0 after 525 msecs
[ 1.030844] calling mon_init+0x0/0xd1 @ 1
[ 1.031038] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[ 1.031218] uhci_hcd 0000:00:1d.0: irq 3, io base 0x0000e400
[ 1.031731] usb usb2: configuration #1 chosen from 1 choice
[ 1.031997] hub 2-0:1.0: USB hub found
[ 1.032109] hub 2-0:1.0: 2 ports detected
[ 1.133721] uhci_hcd 0000:00:1d.1: PCI INT B -> Link[LNKD] -> GSI 7 (level, low) -> IRQ 7
[ 1.133871] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[ 1.133879] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[ 1.134224] ------------[ cut here ]------------
[ 1.134320] WARNING: at fs/sysfs/dir.c:463 sysfs_add_one+0x27/0x2f()
[ 1.134422] sysfs: duplicate filename 'usbmon3' can not be created
[ 1.134522] Modules linked in:
[ 1.134656] Pid: 1, comm: swapper Not tainted 2.6.27-rc6eeepc #30
[ 1.134760] [<c0119215>] warn_slowpath+0x61/0x85
[ 1.134908] [<c01ae295>] number+0x13d/0x217
[ 1.135050] [<c0114819>] __dequeue_entity+0x1f/0x71
[ 1.135197] [<c01aacd0>] idr_get_empty_slot+0x122/0x1e6
[ 1.135341] [<c01aae63>] ida_get_new_above+0xcf/0x148
[ 1.135483] [<c018cf4e>] sysfs_new_dirent+0x24/0xc7
[ 1.135625] [<c018cc1f>] sysfs_ilookup_test+0x0/0xd
[ 1.135769] [<c016c9e2>] ifind+0xa/0x49
[ 1.135909] [<c018ce10>] sysfs_find_dirent+0x13/0x23
[ 1.136052] [<c018cea2>] sysfs_add_one+0x27/0x2f
[ 1.136193] [<c018d279>] create_dir+0x3c/0x6b
[ 1.136332] [<c018d2d1>] sysfs_create_dir+0x29/0x3b
[ 1.136474] [<c01ab6a8>] kobject_get+0xf/0x13
[ 1.136613] [<c01ab787>] kobject_add_internal+0x9b/0x134
[ 1.136777] [<c01abb0d>] kobject_add+0x4a/0x4e
[ 1.136916] [<c01fa6a0>] device_add+0x75/0x4b6
[ 1.137058] [<c01fa3ec>] device_initialize+0x77/0x9f
[ 1.137199] [<c01fab69>] device_create_vargs+0x78/0x99
[ 1.137342] [<c03da27c>] mon_init+0x0/0xd1
[ 1.137484] [<c01fabae>] device_create+0x24/0x28
[ 1.137625] [<c022e2a8>] mon_bin_add+0x3b/0x54
[ 1.137769] [<c022c69b>] mon_bus_init+0x45/0x77
[ 1.137909] [<c03da30d>] mon_init+0x91/0xd1
[ 1.138047] [<c010112b>] _stext+0x43/0x111
[ 1.138188] [<c0113c00>] __sched_fork+0x4b/0x6f
[ 1.138329] [<c011671e>] __wake_up+0xf/0x15
[ 1.138469] [<c0124298>] insert_work+0x40/0x44
[ 1.138611] [<c03c2719>] kernel_init+0xcb/0x12e
[ 1.138757] [<c03c264e>] kernel_init+0x0/0x12e
[ 1.138895] [<c010415f>] kernel_thread_helper+0x7/0x10
[ 1.139040] =======================
[ 1.139142] ---[ end trace 32b8bb2cd8e5acac ]---
[ 1.139240] kobject_add_internal failed for usbmon3 with -EEXIST, don't try to register things with the same name in the same directory.
[ 1.139401] Pid: 1, comm: swapper Tainted: G W 2.6.27-rc6eeepc #30
[ 1.139504] [<c01ab7ea>] kobject_add_internal+0xfe/0x134
[ 1.139650] [<c01abb0d>] kobject_add+0x4a/0x4e
[ 1.139789] [<c01fa6a0>] device_add+0x75/0x4b6
[ 1.139928] [<c01fa3ec>] device_initialize+0x77/0x9f
[ 1.140077] [<c01fab69>] device_create_vargs+0x78/0x99
[ 1.140219] [<c03da27c>] mon_init+0x0/0xd1
[ 1.140357] [<c01fabae>] device_create+0x24/0x28
[ 1.140497] [<c022e2a8>] mon_bin_add+0x3b/0x54
[ 1.140637] [<c022c69b>] mon_bus_init+0x45/0x77
[ 1.140777] [<c03da30d>] mon_init+0x91/0xd1
[ 1.140916] [<c010112b>] _stext+0x43/0x111
[ 1.141053] [<c0113c00>] __sched_fork+0x4b/0x6f
[ 1.141193] [<c011671e>] __wake_up+0xf/0x15
[ 1.141333] [<c0124298>] insert_work+0x40/0x44
[ 1.141473] [<c03c2719>] kernel_init+0xcb/0x12e
[ 1.141612] [<c03c264e>] kernel_init+0x0/0x12e
[ 1.141751] [<c010415f>] kernel_thread_helper+0x7/0x10
[ 1.141893] =======================
[ 1.142142] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[ 1.142334] uhci_hcd 0000:00:1d.1: irq 7, io base 0x0000e480
[ 1.142699] initcall mon_init+0x0/0xd1 returned 0 after 106 msecs
[-- Attachment #2: bootgraph.svg --]
[-- Type: image/svg+xml, Size: 3486 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: fastboot: usbmon WARNING
2008-09-24 10:41 ` fastboot: usbmon WARNING Alan Jenkins
@ 2008-09-24 12:04 ` Arjan van de Ven
0 siblings, 0 replies; 3+ messages in thread
From: Arjan van de Ven @ 2008-09-24 12:04 UTC (permalink / raw)
To: Alan Jenkins; +Cc: linux-kernel
On Wed, 24 Sep 2008 11:41:43 +0100
Alan Jenkins <aj504@student.cs.york.ac.uk> wrote:
> Arjan van de Ven wrote:
> > The fastboot.git tree has a set of patches (all posted and reviewed
> > on lkml before) that speed up the kernel boot process of the kernel.
> >
> > There's 3 major pieces of this
> > 1) The creation of an asynchronous initcall level (6a) that runs
> > asynchronous from the regular driver init, and is for non-boot
> > critical initcalls only 2) A rework of the non-initrd boot code to
> > try mounting /, and if that fails, only THEN wait for all the
> > various driver probings to finish (and then retry) 3) A tool
> > "bootgraph.pl" that outputs a SVG graphic of where the kernel boot
> > spends its time
>
> Enabling fastboot makes usbmon (CONFIG_USB_MON) squawk, trying to
> create duplicate sysfs files.
this got fixed but the fix is in gregkh's USB tree ...
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-09-24 12:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-20 18:00 What's in fastboot.git for 2.6.28 Arjan van de Ven
2008-09-24 10:41 ` fastboot: usbmon WARNING Alan Jenkins
2008-09-24 12:04 ` Arjan van de Ven
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.