All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Boottime: measure bootloader and kernel bootup time
@ 2012-11-15 10:04 ` Lee Jones
  0 siblings, 0 replies; 30+ messages in thread
From: Lee Jones @ 2012-11-15 10:04 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, jonas.aberg, linux, will.deacon

This patchset supplies a new tool which measures boottime inclusive
of bootloader involvement. It seems to be accurate and adds no
latency to the booting of the system.

In the first round of testing we booted the kernel 3 times each with
boottime enabled and disabled. Actually, when it was disabled, the
code was completely removed from the kernel source and the kernel was
rebuilt. The difference between present & enabled and completely
removed was very little indeed. In fact, averaging out the 3 runs of
each, when boottime was enabled the system booted 4ms _faster_, go
figure!

             Enabled    Disabled
  1st run    2.983093   2.985168
  2nd run    2.973266   2.971801
  3rd run    2.975402   2.987304
  Average    2.977254   2.981424   -0.004171 (-4ms)


For the next round of testing, we delayed the bootloader for varying
amounts of time, then started to remove key components from kernel
functionality to see if the boottime system would pick-up on them.

  /* Hang around in the bootloader for a while. */
  $ cat /sys/kernel/debug/boottime/summary 
    kernel: 42864 msecs
    total: 42864 msecs
    kernel: cpu0 system: 56% idle: 43% iowait: 0% irq: 0% 
            cpu1 system: 4% idle: 95% iowait: 0% irq: 0%

  /* Hang around in the bootloader for a smaller amount of time. */
    kernel: 12351 msecs
    total: 12351 msecs
    kernel: cpu0 system: 56% idle: 43% iowait: 0% irq: 0% 
            cpu1 system: 2% idle: 97% iowait: 0% irq: 0%
  
  /* Instant boot. (1st run) */
    kernel: 7833 msecs
    total: 7833 msecs
    kernel: cpu0 system: 55% idle: 44% iowait: 0% irq: 0% 
            cpu1 system: 3% idle: 96% iowait: 0% irq: 0%

  /* Instant boot. (2nd run) */
    kernel: 7817 msecs
    total: 7817 msecs
    kernel: cpu0 system: 53% idle: 46% iowait: 0% irq: 0% 
            cpu1 system: 8% idle: 91% iowait: 0% irq: 0%

  /* Instant boot. (3rd run) */
    kernel: 7747 msecs
    total: 7747 msecs
    kernel: cpu0 system: 56% idle: 42% iowait: 0% irq: 0% 
            cpu1 system: 2% idle: 97% iowait: 0% irq: 0%

  /* Instant boot. (4th run)
          -CONFIG_INPUT_TOUCHSCREEN=y
          +# CONFIG_INPUT_TOUCHSCREEN is not set
  */
    kernel: 7046 msecs
    total: 7046 msecs
    kernel: cpu0 system: 72% idle: 27% iowait: 0% irq: 0% 
            cpu1 system: 5% idle: 94% iowait: 0% irq: 0%

  /* Instant boot. (5th run)
          -CONFIG_MMC=y
          +# CONFIG_MMC is not set
  */
    kernel: 6778 msecs
    total: 6778 msecs
    kernel: cpu0 system: 81% idle: 18% iowait: 0% irq: 0% 
            cpu1 system: 1% idle: 98% iowait: 0% irq: 0%

 arch/arm/common/Makefile                  |    1 +
 arch/arm/common/boottime.c                |   46 +++
 arch/arm/include/uapi/asm/setup.h         |   22 ++
 drivers/clocksource/clksrc-dbx500-prcmu.c |   20 ++
 include/linux/boottime.h                  |   89 ++++++
 init/Kconfig                              |    9 +
 init/Makefile                             |    1 +
 init/boottime.c                           |  475 +++++++++++++++++++++++++++++
 init/main.c                               |    6 +
 9 files changed, 669 insertions(+)



^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2012-11-30  8:21 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-15 10:04 [PATCH 0/2] Boottime: measure bootloader and kernel bootup time Lee Jones
2012-11-15 10:04 ` Lee Jones
2012-11-15 10:04 ` [PATCH 1/2] Boottime: A tool for automatic measurement of kernel/bootloader boot time Lee Jones
2012-11-15 10:04   ` Lee Jones
2012-11-15 10:16   ` Kyungmin Park
2012-11-15 10:16     ` Kyungmin Park
2012-11-15 11:25     ` Lee Jones
2012-11-15 11:25       ` Lee Jones
2012-11-15 12:25       ` Arnd Bergmann
2012-11-15 12:25         ` Arnd Bergmann
2012-11-15 17:31         ` Linus Walleij
2012-11-15 17:31           ` Linus Walleij
2012-11-20 16:16       ` Lee Jones
2012-11-20 16:16         ` Lee Jones
2012-11-29 20:35         ` Simon Glass
2012-11-29 20:35           ` Simon Glass
2012-11-30  8:21           ` Lee Jones
2012-11-30  8:21             ` Lee Jones
2012-11-15 13:52   ` Andrew Murray
2012-11-15 13:52     ` Andrew Murray
2012-11-15 14:37     ` Lee Jones
2012-11-15 14:37       ` Lee Jones
2012-11-15 10:04 ` [PATCH 2/2] clocksource: clksrc-dbx500-prcmu: Add boottime support Lee Jones
2012-11-15 10:04   ` Lee Jones
2012-11-15 10:15 ` [PATCH 0/2] Boottime: measure bootloader and kernel bootup time Jean-Christophe PLAGNIOL-VILLARD
2012-11-15 10:15   ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-15 10:35   ` Lee Jones
2012-11-15 10:35     ` Lee Jones
2012-11-15 10:57     ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-15 10:57       ` Jean-Christophe PLAGNIOL-VILLARD

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.