CONFIG_EMBEDDED

CONFIG_EMBEDDED
ルネサスソリューションズ
宗像尚郎 ( [email protected] )
©2006. Renesas Technology Corp., All rights reserved.
組み込み界でありがちな愚痴
 Linux 開発コミュニティの中では “組み込み” は亜流
組み込み開発者の要求はあまり聞いてもらえない
 kernel 2.6 は潤沢なリソースが使える環境を想定
しているので 組み込み向きではない
メインラインの kernel 開発ポリシーと共存できる形で
組み込み向けの Profiling を導入してもらうには 何を
とっかかりにすれば良いのか ・・・・・
CELF Tech Jamboree #9
Non-confidential
©2006. Renesas Technology Corp., All rights reserved.
kernel configuration に config_embedded という項目がある
(kernel 2.6 から追加された)
CELF Tech Jamboree #9
Non-confidential
©2006. Renesas Technology Corp., All rights reserved.
何を設定する config か
一部の kernel config 設定を拡張するもの
 組込系向けに必ずしも必要の無いオプションを選択し
チューニングで切るようにするためのオプションである
 基本的にわかっている人だけが使うことを想定している
•
•
•
•
•
UID16
VM86
KALLSYMS
HOTPLUG
PRINTK
•
•
•
•
•
ELF_CORE
BASE_FULL
FUTEX
EPOLL
SHMEM
•
•
•
•
•
CC_ALIGN_FUNCTIONS
CC_ALIGN_LABELS
CC_ALIGN_LOOPS
CC_ALIGN_JUMPS
SLAB
kernel 内のアルゴリズムには影響しない
page size などのパラメータ設定にも影響しない
CELF Tech Jamboree #9
Non-confidential
©2006. Renesas Technology Corp., All rights reserved.
導入された経緯をさかのぼってみる ー ①
[http://lkml.org/lkml/2003/5/16/158]
kernel 2.5.68 当時に FUTEX 機能の組み込みに関連し
FUTEX は組み込みには必要ない(フットプリントが大きい)
という意見に対し、 Alan Cox が “Linux の組み込み応用
も大事だから….” という発言をしている
当時 Alan は no-MMU サポートを推進していたので、
FUTEX が使えない CPU サポートを考慮してくれていた ?
CELF Tech Jamboree #9
Non-confidential
©2006. Renesas Technology Corp., All rights reserved.
導入された経緯をさかのぼってみる ー ②
[http://lkml.org/lkml/2003/5/16/191]
Andrew Morton が kernel config menu を見直して
組み込み用に kernel の一部の機能を 切り離す設定を
追加する事に合意し、 現在のメニュー構造が導入された
⇒ その後 組み込みの要求に応じて選択可能な項目が
追加されてきた (ようだ)。 あまり深く考えず....
それならここに入れときましょう という吹きだまり状況 ?
CELF Tech Jamboree #9
Non-confidential
©2006. Renesas Technology Corp., All rights reserved.
現状 config_embedded の総括
 積極的な使われ方(受け止められ方)はされていないようだ
 一部機能を使わなくするための拡張オプションという性格
組み込みで欲しい機能、設定を追加する目的では使われていない
 現在の設定内容は必ずしも “組み込み” の要求を反映していない
⇒ 例えば NPTL を使うためには FUTEX サポートは必須なのだし…
どちらかというと no-MMU 型のサポート用の設定の色彩が強い?
 “組み込み” も多様化 → 一言でグループ化できなくなった
 SH7785 (>1,000 MIPS)、 SH7751R (430 MIPS)、 SH7619 (100MIPS)
 Multi-Core CPU、 SMP CPU、 Numa memory
CELF Tech Jamboree #9
Non-confidential
©2006. Renesas Technology Corp., All rights reserved.
この先 どのようにもっていきたいか
 既に kernel 2.6 でサポートされている
config_embedded 設定オプションをどう活用するか
という問題提起で、積極的に 組み込み向けの
プロファイリングをメインラインに反映できないか….?
 現在の kernel tuning parameter 及び今後の拡張
として 組み込みの要求プロファイルを何種類か提案
することができないか….
次回以降の Jamboree などを活用して意見集約したい
CELF Tech Jamboree #9
Non-confidential
©2006. Renesas Technology Corp., All rights reserved.