NIC e100 - oraccha/omicron GitHub Wiki

Linux/デバイスドライバ/NICから分家.


EtherExpressPRO/100 のドライバ

  • DonaldBecker 氏オリジナルに Andrey Savochin 氏らがに手を加えたドライバ (eepro100)
    • 現在のデフォルト
  • DonaldBecker 氏の新しいドライバ
    • PCI device scan layer を使う.
  • Intel が提供しているドライバ (e100)
    • -ac カーネルに入ってる.

どれが一番いいんだ...

  • 2.6の時代になって、e100がデフォルトになって、(2.6.24現在)eepro100を削除しようと話も出ているが。

とりあえず,2番目のドライバに変えてみる. と次のようなワーニングが. {{{ ** The configuration EEPROM enables Sleep Mode.

** This will cause PCI bus errors! ** Update the configuration EEPROM with the eepro100-diag program. General self-test: passed. Serial sub-system self-test: passed. Internal registers self-test: passed. ROM checksum self-test: passed (0xb874c1d3). }}}

で,eepro100-diag を使って EEPROM を書き換える. {{{

./eepro100-diag -G 0 -w -w -f

}}}


とりあえず, NetPerf 使って測ってみるか.通信相手はスイッチングハブを介して RealTek 8139 な NIC を持つ PC.パラメータは次の通り.カーネルは 2.4.20-pre10-ac2. {{{ $ ./netperf -l 60 -t UDP_STREAM -H madeira -- -m 1450 }}}

結果. {{{ driver UDP_STREAM eepro100(1.36) 95.63 eepro100(1.25) 95.63 e100(2.1.15-k1) 95.63 }}}

おぉ,100 Mbps の帯域ぎりぎりまでスループット出てるなぁ.

  • [http://ilab.is.s.u-tokyo.ac.jp/~ishikawa/LinuxIA64/perf-net-old.html この結果]見ると,2.4.3 のころは全然性能でなかったみたいだ.何が変わったんだろう.

eepro100 は紛らわしいけど,1.25 の方が新しいドライバ.気になるのは UDP だけなので UDP_STREAM しか測ってないが,とりあえず差はみられない.