トップ «前の日記(2011-11-03) 最新 次の日記(2011-11-06)» 編集

いぬふぐり日記

2011年
11月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
 アクセス数 , 本日 , 昨日

2011-11-04 曇り [長年日記]

Appleとソフトバンクの現在の関係を示す話。

さっさと SBM に見切りを付ければいいのに > Apple さん

Apple Loses Patent Suit Against Minor Rival in Spain

Apple の負け(スペインにて)

procps

テスト中の Plamo64-0.21 改(kernel 3.0.8 + tuxonice)で、何故だか ps や w などを実行した際に妙な値を返してしまう問題に悩む

時折 Unknown HZ value! ... といった表示が出たり出なかったり。ps ux すると、実行されている process の開始時刻がメチャクチャ。

挙動から推測するに /proc/stat の cpu 時間を /proc/uptime の値で割った値を HZ として使っているようなのだが、suspend/resume することで cpu 時間にズレが生じるために HZ の値が妙な時間になり、ps とかの結果が変になっているみたい。

とりあえず procps-3.2.8 の proc/sysinfo.c 中で HZ 値を返すところで強引に kernel の設定値 HZ=100 に固定したら正常な表示になった(酷い対処方法ですね)

これまでのシステム(Plamo-4.7x, kernel 3.0.4 + tuxonice)では suspend/resume で何の問題もなかったので、procps のコードをきちんと読んで原因を調べておいた方がいいかな。

はろーわーるど

Android 勉強会の宿題を早いとこやっておかないと

なんじゃこれは

ちょろっと procps のコードを読んでみる

init_libproc 内で linux_version_code が 0 になってるから、old_Hertz_hack が呼び出されて変なことになったみたい

はぁ? init_Linux_version よりも init_libproc の方が先に呼び出されているのか? 何で?

あ、これだ!

init_Linux_version を先に呼び出すような修正コードをほぼ書いたところで、もしかしてと思ってググってみたら案の定ありました。これですね。

このページのリンク先にある debian squeeze用パッチ(proc_version_constructor.patch)で概ね解決しますね。

しかし、初期化の順番くらい意識して書けよなぁ...


  1. Kero (05-20)
  2. な (09-07)
  3. Kero (09-05)