[Suzaku:01659] Re: Linuxフリーズ時の調査方法について
Yasushi SHOJI
email@hidden
2009年 10月 27日 (火) 18:15:10 JST
At Tue, 27 Oct 2009 17:22:54 +0900,
菊地 義和 wrote:
[...]
> フリーズしていると思われる箇所は
> マクロ関数「wait_event_interruptible_timeout(Q,条件,時間)」
> と思われます。
>
> 頻繁に実行される関数で、正常に実行されていること
> がほとんどなのですが、まれにこの行でフリーズする
> ようです。この行のあとのprintk()が実行されないところ
> からそう判断しております。
>
> 先に教えていただいている方法、もしくは異なる方法で
> 上記関数の動作を観察する方法など、ご存知でしたら
> お教えいただけないでしょうか。
- どこ(システムコール)から呼び出されているか分りますか?
- 関数が呼ばれたときの条件と時間は、どうですか?
- 時間は経過していますか/timerは動いていますか?
wait_... の後の関数が実行されないからと言って、そこで壊れているか分りま
せん。たとえば、wait...()が呼ばれた結果、スケジューラーが動いて、
他の kernel threadが動き、なにか壊しているかもしれません。
なので、スケジューラーに手を入れて、実行しているプロセス IDを表示するよ
うにすると良いかもしれません。
# う〜ん、mbには backtrace()が無いのか…。
--
yashi
suzaku メーリングリストの案内