昔の機種の情報を手繰っていて歴史を感じた2009年02月17日 02時54分11秒

Nescape、Mozilla、Seamonkey と使い続けてきたブックマークを久しぶりに眺めていた。その中に、当時持っていた機種の情報のページがある。既にリンク先は消えているか、ページが無くなっている。

今回出てきたのは、IBM 560。これは、友人が持っていたものを譲って貰った物だ。2001 年ぐらいに、手元に来たと思う。Pentium 100MHz で、ディスクは 2GB か 4GB ぐらいだったと思う。FreeBSD や OpenBSD をいれて遊んだが、とても遅かった。それでも、OpenBSD をいれて pf をいれて、2005 年ぐらいまで firewall と NAT として使っていたと思う。今では処分してしまった。IBM の PC 部門は既に無い。そして、この機種の情報も既に同じ URL には無かった。

もう一台、別の物の情報も無くなっていた。Compaq Presario とブックマークには名前が付いている。こちらは、重量が重かった記憶がある。それゆえ、歴代持っていた中でも一番利用頻度が低かった様な記憶が。

以前は何度も訪れていた記憶があるが、これを機にブックマークから消した。

LOR(lock order reversal)2009年02月17日 11時03分23秒

8-CURRENT を追い始めたばかりだが、7 系から色々と変わっているのが、幾つか目に付いた。ここ二、三日はディスク系のエラーのため起動に成功していない。現時点では、dtrace も壊れている。systat -vm に md デバイスも表示されるようになったのは嬉しい変更だ。また、witness が有効になっている為に、色々な警告が出て来る。

警告の中でよく目に付くのが LOR だ。FreeBSD LOR(lock order reversal)s seen and comments.要は、これはリソースのロックの順番が間違っているという事。複数のロックを持ちいてリソースの排他制御を行なう時に重要なのはロックする順番だ。全ての場所で正しい順番でロックを行ない、正しくその逆順でロックの解除を行なわないと、デッドロックを起こす。

8-CURRENT で、witness のこの問題の検知方法だか手段だかが格段に良くなったらしい。そのため、数年来潜んでいたこれらのバグが、8-CURRENT で一気に吹き出して来ているのが背景らしい。最近、LOR に付いて簡単に調べてみた結果、こんな事情みたいだ。

DTrace を使った感想2009年02月17日 23時50分32秒

dtrace を設定し、実験を始めた。数日後に何故だか動かなくなり焦った。CURRENT を準備している時に間違って 7.1-RELEASE を触ったらしく、再構築し直したら dtrace が再度動くようになった。

三十分から一時間ぐらい使ってみたが、とても良い。dtrace 以前は、カーネルを読んで、少し触ってみる時には、コードを読んで動作を把握した後に、printf などを入れて自分の解釈が正しいかを調べたりした。カーネルモジュールが使える場合でも、再構築やモジュールの再読み込みなどで面倒だったのだが、dtrace を使うとそれらに費やす時間が必要無くなる。


$ dtrace -l | wc -l
  35405

dtrace に三万五千にものぼる検査点が埋め込まれていて、全ての関数ではないが必要充分なだけは網羅されている。カーネルの動作を追うだけなら、格段と楽に出来るようになった。

病み付きになる便利さだ。今後、何回かに分けてまとめたいと思う。