川口です

面白い話を見逃してた...

In Sun, Dec 17, 2006 at 01:12:52AM +0900,
Kazumaro Aoki <[EMAIL PROTECTED]> wrote:
> 110000KB/sぐらい出るPCはPCIで、今回のマシンはPCI Expressということから、
> PCI ExpressのFreeBSDの対応はどうなっているのかなぁとか、ちょっと勘ぐっ
> ています。が、内部的な話になると私にはお手上げ状態で困ってます。

(細かいですが PCI => PCI-X かな???)

とりあえず FreeBSD/i386 6-stable にて PCI-Express な bge ですが
chip が 5752 (HP xw8400)という代物は手元にあります.

SmartBits からの packet をどれだけ受け取れるか,ということは
先日試していたんですがもっと性能は高かったように思います.
(テストのやり方が全然違うので比較が難しい && そういえば送信側は試してない...)

さすがに小さいパケット(200Byte/packet)を 96ns 間隔送信だと
結構取りこぼしがあるけど 700Mbps 前後は出ていました.
(device polling とかはやっていないインストールそのまま状態)

なお,同一機において PCI-X 接続の Intel GbE(em) な I/F とは
性能において特段ギョッとするような差はなかったはずです.
(bge の方が取りこぼしはすくなかった; 
 em が PCI-Exp => PCI-X bridge 経由というのが影響あるかどうかは知らない)


> bgeでもちゃんと110000KB/sぐらいamd64 PCがあることから、もしかしたらbge
> が遅いのではなく、busのdriver周りに問題がある可能性を考えています。

pps 単位(割り込みなどの処理能力; 小パケットをガンガン流す)の話と
bps (大パケット,場合によっては jumbo frame などでの data 転送能力)に分けて
試してみることはできますでしょうか?

ttcp が良いかどうかは分かりませんが,自分は ports/net/rude で
UDP constant rate でやっています.(rude が良いのかも良く分かりませんが)

受信側で
dst% crude -s 30
しておいて

src% cat rude.cfg
START NOW
1000 0030 ON 3002 10.1.1.1:10001 CONSTANT 500 1500      # ex. 1500Byte @ 500pps
11000 0030 OFF                                          # 10秒間で終了
EOF
src% rude -s rude.cfg

rude が終了したら受信側 crude を ^C すると summary がでます.

> > > ttcp -t -s -b 131072 -n 65536 -v HOST

一応 ttcp をインストールしてみましたが,tcp のスループットを
試しているんですね,これ.
これで "Linux のスループット" と言うと,最近の Linux (2.6系?)は
BIC-TCP というかなり変態な TCP(そんなの TCPじゃねーよ説あり)らしいので
NIC の性能とはまた違う要素を比較してしまう部分はあるかと思います.


とりあえず BCM5752(一応 5751 もあることはあるんですが 5750 はないな...)
on FreeBSD/i386,6-stable で良ければ,来週機会を見つけて試してみたいと思います.
-- 
       ∧∧
Zzz.. (- - )⌒⌒⊇〜           川口 銀河
      ##############   [EMAIL PROTECTED]

メールによる返信