170 likes | 313 Views
Improvement of bootup time using Power Management - Project Update -. ソニー ㈱ 神長浩気 kaminaga@sm.sony.co.jp. 目的:. アプリケーションの起動時間を短縮したい. アプリケーションが main() に到達するまでに行われる処理 イメージの転送 ダイナミックリンク グローバルコンストラクタ システム全体を稼動する為のアプリケーション間の IPC 処理. HW初期化. マウント ドライバ init. アプリケーションの起動時間. (Boot loader
E N D
Improvement of bootup time using Power Management- Project Update - ソニー㈱ 神長浩気 kaminaga@sm.sony.co.jp JapanTechnicalJamboree5
目的: • アプリケーションの起動時間を短縮したい • アプリケーションが main() に到達するまでに行われる処理 • イメージの転送 • ダイナミックリンク • グローバルコンストラクタ • システム全体を稼動する為のアプリケーション間の IPC 処理 HW初期化 マウント ドライバ init アプリケーションの起動時間 (Boot loader / kernel) 1 [s] 1 [s] 2 [s] 5 [s] JapanTechnicalJamboree5
Linux 上の hibernate: • Swsusp • 2.6 バニラカーネルに含まれている(Documentation/power/swsusp.txt) • 制作者:Pavel Machek • Software Suspend 2 • http://www.suspend2.net/ • 制作者:Nigel Cunningham JapanTechnicalJamboree5
Linux 上の hibernate(比較): swsusp Suspend2 出典: http://www.suspend2.net/features JapanTechnicalJamboree5
現状: • Suspend2 の ARM ポーティングを行った • Suspend2 の ML に投稿した次期リリースに反映される予定! http://lists.suspend2.net/lurker/message/20051114.094040.11261d0e.en.html JapanTechnicalJamboree5
環境: • ターゲットボード • OMAP Starter Kit (OSK 5912) • OS • Linux 2.6 • Boot loader • U-boot • Image 書き込み先 • 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 JapanTechnicalJamboree5
Suspend2 評価: • Linux 2.6.14 + Suspend2-2.2-rc9 • ash ログイン状態から hibernate • 時間測定にカーネルの printk time を用いた • Uboot から linux が立ち上がる時刻が基準 • Make menuconfig で • Kernel hacking ---> [ ] Show timing information on printks • http://tree.celinuxforum.org/CelfPubWiki/PrintkTimes JapanTechnicalJamboree5
Suspend2 結果: • 通常の起動時間 • 7.618 [sec] • Suspend2 (lzf 有効) • 22.492 [sec] • 12.371 MB 7.450 MB (圧縮率 39%) • Suspend2 (lzf 無効) • 17.99 [sec] 起動時間差: 20%,4.50 [sec] Suspend2 処理開始時間: 4.402 [sec] JapanTechnicalJamboree5
swsusp 評価: • Linux 2.6.11 • 時間測定にカーネルの printk time を用いた • Uboot から linux が立ち上がる時刻をゼロ • Make menuconfig で • Kernel hacking ---> [ ] Show timing information on printks • http://tree.celinuxforum.org/CelfPubWiki/PrintkTimes JapanTechnicalJamboree5
swsusp 結果: • 通常の起動時間 • 7.676 [sec] • swsusp (ash) • 9.52 [sec] • Image: 6.38 MB • swsusp (mplayer) • 13.910 [sec] • Image: 10.24 MB (swsusp 処理開始時間: 2.174 [sec]) JapanTechnicalJamboree5
Swsusp/suspend2 比較: • Linux のバージョンが異なるので比較が出来ないが… • Swsusp/linux2.6.11 はイメージが小さい&起動が早い • Suspend2/linux2.6.14 のイメージの LZF 圧縮は有効だが、起動時間とのトレードオフ • Suspend2-2.2 は RC なので、まだ不安定… JapanTechnicalJamboree5
Swsusp/suspend2 比較:(続) • イメージサイズ/処理時間では • Suspend2: 925KB/sec • swsusp: 889KB/sec JapanTechnicalJamboree5
swsusp3: • swsusp の作者 Pavel が encryption, compression, UI などを swsusp に拡張 • 主な処理を userland で行い、 kernel への変更を最小限にとどめることが目標 • http://lists.osdl.org/pipermail/linux-pm/2005-September/001312.html • http://lists.osdl.org/pipermail/linux-pm/2005-November/001535.html • http://lists.osdl.org/pipermail/linux-pm/2005-November/001562.html JapanTechnicalJamboree5
Swsusp3:(MLダイジェスト) • 2.6.16 位に kernel 部分を入れたい (Pavel) • もし入るならば、RH/FC kernel は分岐するだろう。Swsusp3 は /dev/mem を使うが、rootkit を阻止する為に /dev/mem に制限をかけているので(Dave Jones)…(以降 swsusp3 vs security の議論白熱) • Userland で encryption/compression を行う方が直感的だ (Rafael J. Wysocki ) JapanTechnicalJamboree5
Swsusp3:(MLダイジェスト続) • Suspend2 にはそれら機能が入っているぞ、ダブルエフォートだぞ。(Dumitru Ciobarcianu ) • Kernel に実装するのは違う。Pavel を疑うのか?Nigel は一緒にする為に彼が何をしなければならないのか分かっている (Greg K-H) • 何で userland が正しい場所だと思うのか分からない (Nigel) JapanTechnicalJamboree5
Swsusp3:(MLダイジェスト続) • Userland swsusp では 150 行程度しか kernel に変更が無い (Pavel) • 現在のままでは Nigel のコードは mainline には入らない事を自覚しる(Greg K-H)(以降議論白熱) JapanTechnicalJamboree5
EOF JapanTechnicalJamboree5