這個 topic 前兩年很熱門,當然啦,現在因為 Android 的關係,應該會更熱。下面是我看完的一些紀錄跟想法:
- 使用 Arjan van de Ven 對 kernel aync 的 patch
- 把不重要的 module 改成 loadable
- 修改init/do_mounts.c以提早mount root
- 修改init/main.c裡的init_post,看了以後,我想應該是避免掉open /dev/console還有移掉不必要的步驟以提速。
- improve memcpy (這我不知道是哪裡的,要再查看看)
- reduce kernel size:這可以加快 u-boot 載入時間。一般手段就移掉不必要的driver/module。
- reduce u-boot delay time:u-boot 預設有 delay time,這可以改掉
- kernel 壓縮或不壓縮:用zImage的話可以減少kernel大小,可是要評估解壓縮時間跟載入時間的平衡來決定壓縮或不壓縮。
- 利用 gcc 的 --finstrument-functions --function-sections 去 profile function 的時間 (簡報說加了這兩個 argument,就可以在 __cyg_profile_func_enter/__cyg_profile_func_exit 裡放 code,這個要鑽研 gcc 試試看。)
- 利用ubootchart/bootchart.org工具來測時間。
參考資料:
沒有留言:
張貼留言