Title: Improvement of bootup time using Power Management Project Update
1Improvement of bootup time using Power Management
- Project Update -
- Hiroki Kaminaga
- Sony Corporation
- kaminaga_at_sm.sony.co.jp
- translated by ikoma_at_slab.tnr.sharpco.jp
2Goal
- Want to shorten start up time of application
HW initialization
Mounting drivers init
Startup time of application
(Boot loader / kernel)
1 s
1 s
2 s
5 s
- Processing until the application reaches to
main() - Transfer of image
- Dynamic linking
- Global constructors
- IPC Processing among applications for the whole
system running
3Hibernation on Linux
- Swsusp
- Included in 2.6 vanilla kernel(Documentation/powe
r/swsusp.txt) - Author Pavel Machek
- Software Suspend 2
- http//www.suspend2.net/
- Author Nigel Cunningham
4Hibernation on Linux(Comparison)
swsusp
Suspend2
Source http//www.suspend2.net/features
5Current Status
- Ported Suspend2 onto ARM
- Posted on Suspend2 ML
- To be incorporated in next release!
http//lists.suspend2.net/lurker/message/20051114.
094040.11261d0e.en.html
6Environment
- Target board
- OMAP Starter Kit (OSK 5912)
- OS
- Linux 2.6
- Boot loader
- U-boot
- Image destination
- Flash ROM
Hardware Features ARM9 core operating at 192
Mhz. DSP core operating at 192 Mhz. TLV320AIC23
Stereo Codec 32 Mbyte DDR SDRAM 32 Mbyte Flash
ROM RS-232 Serial Port 10 MBPS Ethernet port
USB Host Port Compact flash connector On board
IEEE 1149.1 JTAG
7Suspend2 Evaluation
- Linux 2.6.14 Suspend2-2.2-rc9
- Hibernate from ash login state
- Used printk time of kernel to measure time
- Baseline is the timimg when linux starts up from
uboot - In make menuconfig
- Kernel hacking ---gt Show timing
information on printks - http//tree.celinuxforum.org/CelfPubWiki/PrintkTim
es
8Suspend2 Results
- Normal Start up
- 7.618 sec
- Suspend2 (lzf on)
- 22.492 sec
- 12.371 MB ? 7.450 MB (compression rate 39)
- Suspend2 (lzf off)
- 17.99 sec
Diff of startup time 20, 4.50 sec
Suspend2 process start at 4.402 sec
9swsusp Evaluation
- Linux 2.6.11
- Used printk time of kernel to measure time
- Clock starts when linux starts up from uboot
- In make menuconfig
- Kernel hacking ---gt Show timing
information on printks - http//tree.celinuxforum.org/CelfPubWiki/PrintkTim
es
10swsusp Results
- Normal startup
- 7.676 sec
- swsusp (ash)
- 9.52 sec
- Image 6.38 MB
- swsusp (mplayer)
- 13.910 sec
- Image 10.24 MB
(swsusp process start at 2.174 sec)
11Swsusp/suspend2 Comparison
- Not a strict comparison as Linux versions are not
the same - Swsusp/linux2.6.11 image is small, and startup
is fast - Suspend2/linux2.6.14 LZF compression of image is
effective, but tradeoff with startup time - Suspend2-2.2 is not stable yet, as it is RC
12Swsusp/suspend2 Comparison (cont.)
- Image size/processing time
- Suspend2 925KB/sec
- swsusp 889KB/sec
13Swsusp3
- Author of swsusp, Pavel, has extended swsusp with
encryption, compression, UI etc. - The goal is to minimize the change to kernel by
most of processing done in the user land - http//lists.osdl.org/pipermail/linux-pm/2005-Sept
ember/001312.html - http//lists.osdl.org/pipermail/linux-pm/2005-Nove
mber/001535.html - http//lists.osdl.org/pipermail/linux-pm/2005-Nove
mber/001562.html
14Swsusp3 (ML digests)
- Want to integrate kernel part into around 2.6.16
(Pavel) - If integrated, RH/FC kernel would fork. Swsusp3
uses /dev/mem, but they restrict /dev/mem to
prevent rootkit (Dave Jones) - (hot discussion continues on swsusp3 vs
security) - Encryption/compression in userland is more
intuitive (Rafael J. Wysocki )
15Swsusp3 (ML digests (cont.))
- Those functions are already in suspend2.
Duplicated effort (Dumitru Ciobarcianu ) - It is different to implement in kernel. Cant
believe Pavel? Nigel knows what he should do to
work together. (Greg K-H) - I cant understand why they think userland is the
right place. (Nigel)
16Swsusp3 (ML digests (cont.))
- Userland swsusp changes only 150 lines or so in
kernel (Pavel) - Present Nigels code wont be mainlined. (Greg
K-H) - (Hot discussion continues)
17EOF