improvement of bootup time using power management - project update -

17
2005/Nov/25 JapanTechnicalJamboree5 1 Improvement of bootup time using Power Management - Project Update - ソソソソ ソソソソ [email protected]

Upload: amelia-shelton

Post on 31-Dec-2015

57 views

Category:

Documents


2 download

DESCRIPTION

Improvement of bootup time using Power Management - Project Update -. ソニー ㈱ 神長浩気 [email protected]. 目的:. アプリケーションの起動時間を短縮したい. アプリケーションが main() に到達するまでに行われる処理 イメージの転送 ダイナミックリンク グローバルコンストラクタ システム全体を稼動する為のアプリケーション間の IPC 処理. HW初期化. マウント ドライバ init. アプリケーションの起動時間. (Boot loader - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 1

Improvement of bootup time using Power Management

- Project Update -

ソニー㈱神長浩気

[email protected]

Page 2: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 2

目的:

• アプリケーションが main() に到達するまでに行われる処理– イメージの転送– ダイナミックリンク– グローバルコンストラクタ

• システム全体を稼動する為のアプリケーション間の IPC 処理

HW初期化 マウントドライバinit(Boot loader

/ kernel)

1 [s] 1 [s] 2 [s] 5 [s]

アプリケーションの起動時間

• アプリケーションの起動時間を短縮したい

Page 3: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 3

Linux 上の hibernate :• Swsusp

– 2.6 バニラカーネルに含まれている(Documentation/power/swsusp.txt)

– 制作者: Pavel Machek

• Software Suspend 2– http://www.suspend2.net/– 制作者: Nigel Cunningham

Page 4: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 4

Linux 上の hibernate (比較):

architecture i386, ppc, x86_64, ia64 i386, ppc, x86_64

Discontiguous memory ○ ×

Compression × ○

Encryption × ○

Suspend-to-swapfile × ○

Suspend-to-file × ○Userland サポート × ○

swsusp Suspend2

出典:  http://www.suspend2.net/features

Page 5: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 5

現状:• Suspend2 の ARM ポーティングを

行った– Suspend2 の ML に投稿した

次期リリースに反映される予定!http://lists.suspend2.net/lurker/message/20051114.094040.11261d0e.en.html

Page 6: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 6

環境:• ターゲットボード

– 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

Page 7: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 7

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

Page 8: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 8

Suspend2 結果:• 通常の起動時間

– 7.618 [sec]

• Suspend2 (lzf 有効 )– 22.492 [sec]– 12.371 MB 7.450 MB ( 圧縮率 39%)

• Suspend2 (lzf 無効 )– 17.99 [sec]

Suspend2 処理開始時間: 4.402 [sec]起動時間差: 20%, 4.50 [sec]

Page 9: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 9

swsusp 評価:• Linux 2.6.11

• 時間測定にカーネルの printk time を用いた– Uboot から linux が立ち上がる時刻をゼロ– Make menuconfig で

• Kernel hacking ---> [ ] Show timing information on printks

– http://tree.celinuxforum.org/CelfPubWiki/PrintkTimes

Page 10: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 10

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])

Page 11: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 11

Swsusp/suspend2 比較:• Linux のバージョンが異なるので比較が

出来ないが…– Swsusp/linux2.6.11 はイメージが小さい&

起動が早い– Suspend2/linux2.6.14 のイメージの LZF 圧縮

は有効だが、起動時間とのトレードオフ• Suspend2-2.2 は RC なので、まだ不安

定…

Page 12: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 12

Swsusp/suspend2 比較:(続)• イメージサイズ/処理時間では

– Suspend2: 925KB/sec– swsusp: 889KB/sec

Page 13: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 13

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

Page 14: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 14

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. WysockiRafael J. Wysocki )

Page 15: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 15

Swsusp3 :(MLダイジェスト続)• Suspend2 にはそれら機能が入っているぞ、

ダブルエフォートだぞ。 (Dumitru Ciobarcianu )• Kernel に実装するのは違う。 Pavel を疑うの

か? Nigel は一緒にする為に彼が何をしなければならないのか分かっている (Greg K-H)

• 何で userland が正しい場所だと思うのか分からない (Nigel)

Page 16: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 16

Swsusp3 :(MLダイジェスト続)• Userland swsusp では 150 行程度しか

kernel に変更が無い (Pavel)

• 現在のままでは Nigel のコードは mainline には入らない事を自覚しる(Greg K-H)( 以降議論白熱 )

Page 17: Improvement of bootup time using Power Management - Project Update -

2005/Nov/25 JapanTechnicalJamboree5 17

EOF