MEMO:はてな支店 このページをアンテナに追加 RSSフィード

2008-02-15

[]clocksource

Time: tsc clocksource has been installed.
Clocksource tsc unstable (delta = 76024924 ns)
Time: pit clocksource has been installed.

カーネルブート時にこんなメッセージが出るのが気になる。

o RTC

o PIT (Programmable Interval Timer)

o Local APIC (Advanced Programmable Interrupt Controller) (a.k.a. lapic)

o ACPI Timer

o TSC* (Time Stamp Counter)

o HPET (High Precision Event Timer)

TSC は i686 以降でサポートされているカウンタで,セット・リセットできない(読み出し専用)し,割り込み(アラーム)機能もありません(それ以外の上述のものはすべて割り込み機能を持っている)。CPU クロックベースなので省電力機能等でクロックが変動した場合に周波数が変動する可能性がありますし,TSC を読み出す命令である RDTSC 命令ですらアウトオブオーダー実行の影響を受けえます。などなどの欠点はありますが,Linux 2.6 のデフォルト動作では TSC が使えるときには使います。

補正に関する動作は kernel の clocksource パラメータにより指定できます。

clocksource=pit

PIT のみ利用・補正なし? (kernel/arch/i386/i8253.c)

clocksource=tsc

TSC を利用 (kernel/arch/i386/tsc.c)

http://d.hatena.ne.jp/dayflower/20070723

なるほど、エミュレータだと、tscが負荷に応じて変動してしまってunstableと判定されてしまってるってことなのかな。

clocksource=pit (i8253 VMWareのゲストマシンではこれが推奨)

http://iswebnet.sakura.ne.jp/st/loudear/ppblog/index.php?UID=1196669407

やはりエミュレータ系ではpitが推奨らしい。

clocksouceはカーネルパラメータで指定する方法はあるけど、menuconfigではそれに相当するものはない?

まあ、tscがだめだったらpitにするって処理をやってくれてるので気にしなければいいという話もあるが。

Kernel command line: clocksource=pit
Time: pit clocksource has been installed.
Clocksource tsc unstable (delta = 1432021026 ns)

実際にclocksource=pitを指定してみた。

どっちにしてもtscのレポートは表示されるんだな。

loudearloudear 2008/09/17 09:42 参照いただいたBlogのエントリはこちらに移動したのでよろしくお願いします。
http://iswebnet.sakura.ne.jp/st/loudear/ppblog/index.php?UID=1196669407

katonakatona 2008/09/25 00:03 ご連絡ありがとうございます。
リンク修正しました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/katona/20080215/p2