MIRACLE
メールサービス申込 ユーザー登録 パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

« ログイン時のサウンド | メイン | ダンプを解析する技術と伝える技術 »

2006年7月24日 (月)

kernel-2.6.17でのspinlockのオーナー情報

先日のダンプ内のSPINLOCKのコメント欄で話題になっていたspinlockのオーナーの特定についてですが、少し調べてみました。

Fedora Core 5のUpdateカーネルとして提供されている2.6.17-1.2157_FC5と

http://people.redhat.com/anderson/ で提供されているcrash-4.0-2.33の組み合わせでカーネルの内部を覗いて見ました。

kernel-debuginfoは、
ftp://ftp.kddlabs.co.jp/pub/Linux/distributions/fedora/core/updates/5/i386/debug/kernel-debuginfo-2.6.17-1.2157_FC5.i686.rpm

あたりからダウンロードしてきます。約800MB程度ありますので、ご注意を。

まず最初にkernel-2.6.17-1.2157_FC5.i686.rpmをインストールし、そのカーネルで起動します。

続いて、kernel-debuginfo-2.6.17-1.2157_FC5.i686.rpmと、crash-4.0-2.33.i386.rpmをインストールしてから下記の操作を行います。

-------------
# uname -r
2.6.17-1.2157_FC5
# crash /boot/System.map-2.6.17-1.2157_FC5
crash> ps
--------------
で適当なプロセス(syslogdなどが良いでしょう)を選択して、filesコマンドでファイル一覧を表示させます。

----------------------

crash> files 1473

PID: 1473   TASK: c1321550  CPU: 0   COMMAND: "syslogd"

ROOT: /    CWD: /
FD    FILE     DENTRY    INODE    TYPE  PATH  
0  c132e500  d08fe6e0  d1c985b4  SOCK  socket:/[3800]  
1  d1af3d80  d0a1f930  d0a47b58  REG   /var/log/messages  
2  c12c7900  d0a1f9c4  d0a478b4  REG   /var/log/secure  
3  d1c965c0  d08fe2d4  d0a47610  REG   /var/log/maillog  
4  d1dc78c0  d08fe240  d0a4736c  REG   /var/log/cron  
5  d1dc7a40  d08feef8  d0a470c8  REG   /var/log/spooler  
6  c13c10c0  d0a1fc14  d0a62dfc  REG   /var/log/boot.log
-----------------
次にinode情報を表示させてみます。
-----------------
crash> struct inode d0a62dfc
....
  i_lock = {
       raw_lock = {
            slock = 1
       },
      magic = 3735899821,
      owner_cpu = 4294967295,
      owner = 0xffffffff
   },
....
-------
というように、spinlockをつかんでいるownerのエントリを確認することができるようになっていました。
今回は、稼動中のカーネルの情報を見ましたので、実際にspinlockを取得している瞬間ではないためownerのエントリが0xffffffffに初期化されていましたが、実際のデッドロックの発生時など、ダンプファイルからデッドロックの原因特定に役立つことは間違いなさそうです。

トラックバック

このページのトラックバックURL:
http://www.typepad.jp/t/trackback/4447/6437579

このページへのトラックバック一覧 kernel-2.6.17でのspinlockのオーナー情報:

コメント

コメントを投稿

コメントは記事の投稿者が承認するまで表示されません。

会社情報 採用情報 個人情報保護方針 商標等取り扱い事項 English
Copyright(c)2000-2006 MIRACLE LINUX CORPORATION. All Rights Reserved.