NetBSD M2 Scheduler

なんか、感覚的でしかないんだが、NetBSD4からNetBSD5にしてから どうもユーザランドレベルでの応答が悪くなった気がする。 NetBSD2のときに飛躍的にレスポンスが上がって、tarファイルをがりがり 展開していてもFirefoxのウィンドウ切り替えがちっとももたつかなくて 非常に快適になった。最近Linuxのデスクトップで同様の負荷のときの 応答がもっと悪いことを知っておおNetBSDやるじゃん、と思っていたのだ。

が、NetBSD5にupgradeしたら裏でrsyncとかしてると、ウィンドウ切り替え があきらかにもっさりするし、firefoxを起動してもrsyncが終わるまで全然 上がって来なかったり。 Significant changes from NetBSD 4.0 to 5.0 を見てもいまいちどれに 該当するか分からんのだが…。UNIX MAGAZINEのNetBSDのとこをみたら プロセスの優先度の層を減らしたとか書いてあったがその辺かな。

まあよく分からないがNetBSD5で新規導入されたという新しいスケジューラ M2に切り替えてみるか。SCHED_M2はSMPパフォーマンスに効くということで、 今回の件とは関係ないとは思うのだが、取り敢えず実験。SCHED_M2オプションを 足すだけでいいって書いてあったが、netbsd-5ブランチの場合 それだけじゃダメでデフォルトのスケジューラを明示的に OFFにしないとダメだった。こんな感じ。

options SCHED_M2
no options SCHED_4BSD

てことで新しいカーネルで起動。ただいまmakeを2本回しつつ裏でrsyncして その画面もverbose表示してX自体の負荷も上げてこれを書いている。はい firefox起動。もちろん負荷の低いときよりずっと遅いがちょいと待てば上がっ て来る。うーん、関係あるのかなあ。まとりあえず大体いままで通りになった からヨシってことで−。

あなんか 調べている人がいますな。どのへんが関係あるのやら。