kernel-2.6.18のSRPMを落としてきて、timer.cをいじって再コンパイル。
LI無視して、毎00秒に閏秒を無理矢理挿入するロジックに変更する。
⇒と思ったら、一度00秒を迎えると毎秒閏秒扱いにしていつまでも59秒から時間が進まないカーネルが出来上がった。
printkで毎秒、leap secondをINSERTしたよって言っててかなりコンソールがうるさい。
再現させて気付いたんだけど、閏秒は00:00:00 UTCかつLI=1のときにタイマーをデクリメントしてるから、
23:59:59 UTCが2秒続いて次は00:00:00って動きになるのね。
(だから59秒から時が進まなくなったのだ、私のカーネル)
今のところCPU振り回して(cat /dev/urandom > /dev/null &でCPU数の倍タスクを回す)もハングしないなぁ。。
printkはちゃんと利いてるから、想定どおりに動いてはいるはずだけど。
VirtualBoxだからいけないのかしらん。
時間があればPCサーバでコンパイルしなおそう。。
0 件のコメント :
コメントを投稿