Title: Power Management Discussion
1Power ManagementDiscussion
- Hiroki Kaminaga
- Sony Corporation
- kaminaga_at_sm.sony.co.jp
- translated by ikoma_at_slab.tnr.sharp.co.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
3Conventional Approaches
- Reduce dynamic linking time
- prelink
- Reduce time for global constructors
- Put constructors in the same place(Localization
effect) - Execute in place (XIP)
- Demand Paging of Data Section(From Mizuyamas
presentation in the previous Jamboree)
4Our Approaches
- Use return from hibernation
- (1) BIOS (Boot loader) level
- (2) Kernel level
- (3) BIOS kernel
5Suspend/Resume Sequence(1)
KERNEL
I/O save
Image save
I/O init
Image restore
I/O rest.
BOOT LOADER
OFF
ON
6Suspend/Resume Sequence (2)
KERNEL
I/O save
Image save
I/O init
Image restore
boot
I/O rest.
I/O s.d.
BOOT LOADER
OFF
ON
7Suspend/Resume Sequence (3)
KERNEL
I/O save
img save
I/O init
img rest
I/O rest.
I/O save
img save
I/O init
img rest
I/O rest.
BOOT LOADER
BOOT LOADER
OFF
ON
8Comparison of Three Approaches
- (1) BIOS (Boot loader) level
- Relatively faster resume from hibernation
- Complicated processing required when data
integrity lost - (2) Kernel level
- Can process to ensure the data integrity after
resume from hibernation - Slower resume from hibernation
- (3) BIOS kernel
- Fast resume from hibernation
- Can process to ensure the data integrity
9Basic ideas
- Startup
- Reduce processing until the un-hibernate on
kernel side, using helper function of Boot loader - DEFERRED_RESUME
- Start up the specified application with high
priority - Saving system image
- To start always with the same state
- Others
- Mount
- Splash window
- High speed shutdown
10Hibernation 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
11Hibernate on Linux(comparison)
swsusp
suspend2
Source http//www.suspend2.net/features
12Environment
- Target board
- OMAP Starter Kit (OSK 5912)
- OS
- Linux 2.6
- Boot loader
- U-boot
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
13Work Items
- Choosing hibernation on Linux
- Trying with swsusp first
- Porting to ARM
- Hibernation onto FLASH
- Saving system image
- High speed shutdown
- Hibernation on Boot loader
- DEFERED_RESUME
14Current status
- Investigating Suspend2
- Compression of system image
- Encryption of system image
- Porting Suspend2 onto ARM
- Investigating U-boot
- Hibernation on Boot loader side
15Demo
16Community
- Sent ARM port patch to Suspend2 ML Accepted
favarably. - ARM ML adviced me on questions/issues
17EOF
18Congraturation!HanshinTigers won the league
championship