-setpri(2156)にはちょっとした問題がある。関数のコメントには以下のように書かれている。*/つまり、優先度を再計算して、現在実行中のプロセスより優先度が高くなっていたら再スケジューリングのためにrunrunを++する、と書かれている。curpri))再スケジューリング(runrun++)となっている。Lions本によれば「自力でバグでない事を確認せよ(ヒント:呼び出し時の引数)」との事。grepした感じではsetpriはプリエンプションの時に呼ばれているように見える。走行中のプロセスが持ち時間を使い切ってタイマーによって割り込まれた際に、CPU使用時間を計上してからsetpriを呼んでいる。優先度を下げる方向で再計算させているのであり、curpriは走行中のプロセスが選択された時の優先度。curpri」が成立するのは自明であり、再スケジューリングが走るのはしかるべきである。コメント側が間違っている、という理解。バグではないという事で納得した・・・と思ったんですが。Clubにはバグという記述がありました。確かにベル研の資料には以下のように書かれている模様。p<curpri.むぅ・・・公式にバグと言ってるわけだから、やっぱりバグなのだろうか。真実を知っている人がいたら、ぜひ答えを教えて下さい。さんのコメント...自己レス。(4)に書いた通り、clockをきちんと読むと、実行中プロセスの優先度は下げ、それ以外のプロセスの優先度は上げてsetpriを呼んでいる。よってやはりコード側のバグと考えるのが正解か。実際、どっちでも大差ないけど。