public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox