From: Watanabe Kazuhiro <[EMAIL PROTECTED]>
Subject: [FreeBSD-users-jp 90220] Re: PE850 network performance
Date: Sat, 16 Dec 2006 21:52:40 +0900

> > KB/sec
> >  47691.13 FreeBSD/amd64 5.5R
> >  59867.12 FreeBSD/amd64 7-CURRENT (06/12/14)
> >  60824.50 FreeBSD/amd64 6.2-PRELEASE
> >  61461.78 FreeBSD/i386 5.4R
> > 115018.65 Fedora6/x86_64
> > 115004.92 SuSE10.6/x86_64

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

> > FreeBSD7-CURRENT/amd64のbge0の認識メッセージは次の通りです。
> > bge0: <Broadcom BCM5750 B1, ASIC rev. 0x4101> mem 0xfe8f0000-0xfe8fffff irq 
> > 16 at device 0.0 on pci4

> > 同じbgeでも、BCM5702を載せているマシンでは、FreeBSD5.4R/amd64で、上の
> > SuSE Linuxの様なほぼ理論性能が出ているので、何が原因か悩んでいます。
> 
> freebsd-net メーリングリストに流れたパッチはどうでしょう。
> http://lists.freebsd.org/pipermail/freebsd-net/2006-November/012389.html

早速のコメントありがとうございます。
7-CURRENT(src/sys/dev/bge/if_bge.c,v 1.163 2006/12/13 21:13:09)に対し
て、そのままpatchを当てたらrejが出来たので、手動で当て直しました。
それを試したところ、誤差程度の変化しかありませんでした。

> あるいは、ポーリングモードを試してみるとか。

早速7-CURRENTのkernel config fileに
options    DEVICE_POLLING
を追加してkernelを作り直して実験したところ40000KB/sec程度にperformance
が落ちました。その後、
  kern.polling.reg_frac, kern.polling.user_frac,
  kern.polling.each_burst, kern.polling.burst_max
をいくつかいじって試したのですが、いじる前よりは速くなりましたけど、
ifconfig bge0 -pollingの時より速くなるパラメータは見つけられませんでし
た。

引続き情報をお待ちしております。

bgeでもちゃんと110000KB/sぐらいamd64 PCがあることから、もしかしたらbge
が遅いのではなく、busのdriver周りに問題がある可能性を考えています。
110000KB/sぐらい出るPCはPCIで、今回のマシンはPCI Expressということから、
PCI ExpressのFreeBSDの対応はどうなっているのかなぁとか、ちょっと勘ぐっ
ています。が、内部的な話になると私にはお手上げ状態で困ってます。

やっぱりLinuxへの入れ替えが必要かなぁ。悔しいなぁ。

青木和麻呂@神奈川県在住

メールによる返信