2019-10-01から1ヶ月間の記事一覧

strace 5.2 で追加された -z -Z オプション

strace.io strace 5.2 で追加された -z -Z オプションが面白かったので書いておきます (注意: この記事を書いた時点では 5.3 が最新です ) -Z 失敗したシステムコールだけフィルターしてくれるオプション root@xenial:~/strace-5.3# ./strace -Z ls >/dev/nu…

Linux Kernel: rtnl_mutex を長時間 ロックして刺さった状態を観察する

Linux Kernel で struct net_device や Routing Netlink の処理を排他制御する mutex である rtnl_mutex を任意の時間 ロックするカーネルモジュールを作成して、rtnl_mutex のロックがユーザランドのプロセスやカーネルスレッド等にどういった影響を及ぼす…

Proof of Concept: Linux カーネルモジュールで特定のディレクトリ以下の dentry キャッシュを破棄する (2)

hiboma.hatenadiary.jp 前回の続きのエントリです カーネルのバージョンを変えつつ ソースを読み込んでみたところ理解が進んだ点が2つあったのでまとめます ファイルシステム(マウントポイント?) を remount すると dentry を破棄できる evict_inodes() を…

Proof of Concept: Linux カーネルモジュールで特定のディレクトリ以下の dentry キャッシュを破棄する

動機 社内の同僚がカーネル周りの問題を調べていて slab キャッシュ ( = dentry, inode ) に関する内容を追っていた。 その問題自体の内容は、アレがコレで、伏せておく。 その問題をみているうちに 「特定のディレクトリ以下の slab キャッシュ = dentry / …