設定しておいたタイミングになる前にインターバルタイマが動作した状態であるというメッセージ

OSSメッセージペディア 2008年03月10日 15時00分

  • このエントリーをはてなブックマークに追加

Oops: timer tick before it's due (itc=itc_value,itm=itm_value)

対処

カーネルの修正情報を確認して同様の問題が修正されていないかを確認する。

説明

設定しておいたタイミングになる前にインターバルタイマが動作した状態(ITC<=ITM)となっている。 (ITCの値:itc_value, ITMの値: itm_value)

IA-64プロセッサは、クロック入力に対応してカウントアップされるITCの値が、あらかじめITMに設定された値に達するとインターバルタイマ割り込みを発生させる。このインターバルタイマ割り込みの延長で呼ばれるハンドラ関数 (timer_interrupt())は、その内部でプロセッサから現在のITCを取得してITMの値と比較する。ここでインターバルタイマ割り込みの発生時点ではITC>=ITMが成立しているはずであり、その後ハンドラ関数内でいくつかの命令を実行したあとに実行される上記の比較時点では ITCの値が増大しているのでITC>ITMが成立すべきであるが、これが成立していない(ITC<=ITM)場合に本メッセージが出力される。

本メッセージが出力されるのは「設定したタイミング(ITC==ITM)に達していない時点(ITC<ITM)でインターバルタイマ割り込みが発生してハンドラ関数が呼ばれた」ような状態であり、これはカーネルが想定していない事態であるためメッセージテキストに”Oops”という文字列が含まれるが、一般のkernel oopsとは異なりpanicすることはない。本メッセージが出力されてもインターバルタイマは動作を継続するが、カーネルのインターバルタイマ処理に問題(*1)が発生していることが疑われる状態であり、原因を究明して対処しない限り、インターバルタイマの延長で動作するカーネルの各種処理が、正しいタイミングで期待どおりに実行されないおそれがある。

  • (*1) たとえばITCの値がITMに設定された値に達してからハンドラ関数が呼ばれるまでの合間にカーネルがITC/ITMの値を不正に書き換える等
  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つ
    プレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!

  • ビジネスの継続的な成長を促す新たなITのビジョン

    多くの企業においてITに求められる役割が、「守り」のコスト削減から「攻め」のビジネス貢献へとシフトしつつある。その中でIBMが提唱する新たなビジョンEnterprise Hybrid ITとは?