2009-08-15 STR8132その5
イーサをデバッグしたりチューニングしたりリファインしたりして、とりあえず安定動作するようになった。
ring buffer が stall したりするのも回避コードを入れて、かなりロバストになった。
CPU data cache を on にすると動かないのはいつの間にか修ってた。関連しそうな所をいじった覚え無いんだがなぁ。どこかおかしかったんだろう。気にしないことにする。
ftp すると TX=2.50MB/s, RX=2.85MB/s 程度は出る。XScale 266MHz の NSLU2 が RX=1.5MB/s TX=3.2MB/s 程度なので、250MHz にしてはそこそこか。
現在のステータスは
・com, timer, ether が完了
・nfsboot で multiuser までほぼ安定動作。sshd 等も動いて remote login 可能。
・DIAGNOSTIC を付けていると、
panic: kernel diagnostic assertion "si->si_active" failed: file "../../../../kern/kern_softint.c", line 506
で落ちる。たぶん割込みまわりで __HAVE_FAST_SOFTINTS なのに softint のダミーの IRQ でマスクとかしてないからだろう。
世界で数人しか必要でないだろうがとってもαなコードを置いてみる。
EOF