Power Management Discussion Hiroki Kaminaga Sony Corporation kaminaga@sm.sony.co.jp [translated by ikoma@slab.tnr.sharp.co.jp] 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Goal : 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 2005/Sept/30 JapanTechnicalJamboree4
Conventional 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 Mizuyama’s presentation in the previous Jamboree) 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Our Approaches: Use return from hibernation (1) BIOS (Boot loader) level (2) Kernel level (3) BIOS + kernel 1,2,3 の pro/con 図 2005/Sept/30 JapanTechnicalJamboree4
Suspend/Resume Sequence(1): KERNEL I/O save Image save I/O init Image restore I/O rest. BOOT LOADER OFF ON 2005/Sept/30 JapanTechnicalJamboree4
Suspend/Resume Sequence (2): KERNEL I/O save Image save I/O init boot I/O s.d. Image restore I/O rest. BOOT LOADER OFF ON 2005/Sept/30 JapanTechnicalJamboree4
Suspend/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 2005/Sept/30 JapanTechnicalJamboree4
Comparison 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 1,2,3 の pro/con 図 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Basic 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 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Hibernation on Linux: Swsusp Included in 2.6 vanilla kernel (Documentation/power/swsusp.txt) Author: Pavel Machek Software suspend 2 http://www.suspend2.net/ Author: Nigel Cunningham 2005/Sept/30 JapanTechnicalJamboree4
Hibernate on Linux(comparison): swsusp suspend2 architecture i386, ppc, x86_64, ia64 i386, ppc, x86_64 Discontiguous memory ○ × Compression Encryption Suspend-to-swapfile Suspend-to-file Userland サポート Source: http://www.suspend2.net/features 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Environment: 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 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Work 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 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Current status: Investigating Suspend2 Compression of system image Encryption of system image Porting Suspend2 onto ARM Investigating U-boot Hibernation on Boot loader side 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Demo: 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 Community: Sent ARM port patch to Suspend2 ML; Accepted favarably. ARM ML adviced me on questions/issues Thread URL など 2005/Sept/30 JapanTechnicalJamboree4
JapanTechnicalJamboree4 EOF 2005/Sept/30 JapanTechnicalJamboree4
Congraturation! HanshinTigers won the league championship 2005/Sept/30 JapanTechnicalJamboree4