[linux]時刻・時間管理めも

Linux における時刻・時間管理ではインターバル・タイマを使って、jiffies という変数を増やす。1回の割込みを tick という。
伝統的な Unix では、1秒間に 100 回-120 回のタイマ割込みを起こす。
Linux では、HZ というコンパイル時の定数で設定される。 100, 250, 1000 などに設定するのが普通。
jiffies:Linuxのタイマー割り込みの周期ごとにインクリメントされる変数。
その割り込みが発生するタイミングで、jiffiesカウンターが増えたり、タスクの切り替えなどが発生する。
カーネルのコンパイル時の設定オプションCONFIG_NO_HZを選択したシステムでは、タイマー割り込みベースでの処理(?)が行われなくなるらしい。
CONFIG_NO_HZ:ティックレス・アイドル・パラメータ?カーネル2.6.21以降にしか存在しない。
このオプションは様々なCPU割り込みを減らすために必要とされているらしい。
CONFIG_TIMER_STATS:詳細な?タイマの統計情報を取得できるらしい。
CONFIG_HZ=100
1秒間に100回タイマ割り込みをする、という設定。実際にarch/arm/configs/ac2_defconfigあたりに設定されていた。
つまり10msに一回タイマ割り込みを発生させる。

cpu_idle()

cpu_idle() は arch/i386/kernel/process.c の中で定義されている sys_idle() を実行する無限ループらしい??

コメント

タイトルとURLをコピーしました