[Suzaku:01658] Re: Linuxフリーズ時の調査方法について

菊地 義和 email@hidden
2009年 10月 27日 (火) 17:22:54 JST


yashi さま

菊地です。
状況進展しましたので報告します。
アドバイスいただきました方法によってではありませんが
コードのフリーズしている位置を突き止めました。

それで、もう少し教えていただけないかと思います。

フリーズしていると思われる箇所は
マクロ関数「wait_event_interruptible_timeout(Q,条件,時間)」
と思われます。

頻繁に実行される関数で、正常に実行されていること
がほとんどなのですが、まれにこの行でフリーズする
ようです。この行のあとのprintk()が実行されないところ
からそう判断しております。

先に教えていただいている方法、もしくは異なる方法で
上記関数の動作を観察する方法など、ご存知でしたら
お教えいただけないでしょうか。

宜しくおねがいいたします。

以上

----- Original Message ----- 
From: "菊地 義和" <email@hidden>
To: "SUZAKU general discussion list" <email@hidden>
Sent: Tuesday, October 27, 2009 1:18 PM
Subject: [Suzaku:01657] Re: Linuxフリーズ時の調査方法について


> yashi さま
>
> 菊地義和です。
> お返事ありがとうございます。
>
> 考え方はわかりました。
> 調べるキーワードがわかりましたので
> 何とかできるかと思います。
>
> 以上
>
> ----- Original Message ----- 
> From: "Yasushi SHOJI" <email@hidden>
> To: "菊地 義和" <email@hidden>
> Cc: "SUZAKU general discussion list" <email@hidden>
> Sent: Tuesday, October 27, 2009 12:39 PM
> Subject: Re: [Suzaku:01641] Linuxフリーズ時の調査方法について
>
>
> At Mon, 26 Oct 2009 20:11:58 +0900,
> 菊地 義和 wrote:
>>
>> ①ポートを乗せられない場合
>>  他の方法はありますでしょうか。
>
> xilinxや3rdパーティのツールで microblazeを trace するものがありますが、
> fpgaに入らない状態では、厳しいですね。逆に空いているのであれば
> ツールを使った方が早いかもしれません。
>
>> ②HI/LOWを観察できた場合
>>  カーネルは動作している、と判断してよいのでしょうか。
>>  また、この場合、次に確認すべきことはどのようなことでしょうか。
>
> いえ、timerの割り込みハンドラが反応しているだけです。もちろん、割り込み
> ハンドラが動いていることで、「カーネルが動いている」と言いかえても良い
> のですが…。
>
>> ③HI/LOWを観察できなかった場合
>>  カーネルが停止している、と判断してよいのでしょうか。
>>  また、この場合、次に確認すべきことはどのようなことでしょうか。
>
> timerに反応していないのであれば、かなりの確立で止ってますね。
>
> もし、MDMや、trace core、agilnet logic analyzerの microblaze trace
> toolsetがあれば、それらを使って調べる方が早いです。
>
> そうではない場合は…、デバッグの基本である、「不具合を再現できる最小セッ
> ト」を作ることでしょうか。
> -- 
>         yashi
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
> 




suzaku メーリングリストの案内