Improvement of bootup time using Power Management - Project Update ソニー㈱ 神長浩気 [email protected] 2005/Nov/25 JapanTechnicalJamboree5 1 目的: • アプリケーションの起動時間を短縮したい HW初期化 マウント ドライバ (Boot loader init / kernel) 1 [s] 1 [s] アプリケーションの起動時間 2 [s] 5 [s] • アプリケーションが main() に到達するまでに行われる処理 – イメージの転送 – ダイナミックリンク – グローバルコンストラクタ • システム全体を稼動する為のアプリケーション間の IPC 処理 2005/Nov/25 JapanTechnicalJamboree5 2 Linux 上の hibernate: • Swsusp – 2.6 バニラカーネルに含まれている (Documentation/power/swsusp.txt) – 制作者:Pavel Machek • Software Suspend 2 – http://www.suspend2.net/ – 制作者:Nigel Cunningham 2005/Nov/25 JapanTechnicalJamboree5 3 Linux 上の hibernate(比較): swsusp Suspend2 architecture i386, ppc, x86_64, ia64 i386, ppc, x86_64 Discontiguous memory ○ × Compression Encryption × × × ○ ○ ○ × × ○ ○ Suspend-to-swapfile Suspend-to-file Userland サポート 出典: http://www.suspend2.net/features 2005/Nov/25 JapanTechnicalJamboree5 4 現状: • Suspend2 の ARM ポーティングを行った – Suspend2 の ML に投稿した 次期リリースに反映される予定! http://lists.suspend2.net/lurker/message/20051114.094040.11261d0e.en.html 2005/Nov/25 JapanTechnicalJamboree5 5 環境: • ターゲットボード – OMAP Starter Kit (OSK 5912) • OS – Linux 2.6 • Boot loader – U-boot • Image 書き込み先 – Flash ROM 2005/Nov/25 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 6 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 2005/Nov/25 JapanTechnicalJamboree5 7 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] 2005/Nov/25 JapanTechnicalJamboree5 8 swsusp 評価: • Linux 2.6.11 • 時間測定にカーネルの printk time を用いた – Uboot から linux が立ち上がる時刻をゼロ – Make menuconfig で • Kernel hacking ---> [ ] Show timing information on printks – http://tree.celinuxforum.org/CelfPubWiki/PrintkTimes 2005/Nov/25 JapanTechnicalJamboree5 9 swsusp 結果: • 通常の起動時間 – 7.676 [sec] • swsusp (ash) – 9.52 [sec] – Image: 6.38 MB • swsusp (mplayer) – 13.910 [sec] – Image: 10.24 MB 2005/Nov/25 (swsusp 処理開始時間: 2.174 [sec]) JapanTechnicalJamboree5 10 Swsusp/suspend2 比較: • Linux のバージョンが異なるので比較が出来 ないが… – Swsusp/linux2.6.11 はイメージが小さい& 起動が早い – Suspend2/linux2.6.14 のイメージの LZF 圧縮 は有効だが、起動時間とのトレードオフ • Suspend2-2.2 は RC なので、まだ不安定… 2005/Nov/25 JapanTechnicalJamboree5 11 Swsusp/suspend2 比較:(続) • イメージサイズ/処理時間では – Suspend2: 925KB/sec – swsusp: 889KB/sec 2005/Nov/25 JapanTechnicalJamboree5 12 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 2005/Nov/25 JapanTechnicalJamboree5 13 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 ) 2005/Nov/25 JapanTechnicalJamboree5 14 Swsusp3:(MLダイジェスト続) • Suspend2 にはそれら機能が入っているぞ、 ダブルエフォートだぞ。(Dumitru Ciobarcianu ) • Kernel に実装するのは違う。Pavel を疑うの か?Nigel は一緒にする為に彼が何をしなけ ればならないのか分かっている (Greg K-H) • 何で userland が正しい場所だと思うのか分か らない (Nigel) 2005/Nov/25 JapanTechnicalJamboree5 15 Swsusp3:(MLダイジェスト続) • Userland swsusp では 150 行程度しか kernel に変更が無い (Pavel) • 現在のままでは Nigel のコードは mainline には入らない事を自覚しる(Greg K-H) (以降議論白熱) 2005/Nov/25 JapanTechnicalJamboree5 16 EOF 2005/Nov/25 JapanTechnicalJamboree5 17
© Copyright 2024 ExpyDoc