過去記事 10Gbe/MNPA19-XTR
10GbeスイッチCRS305-1G-4S+IN
40GbeスイッチCRS326-24S+2Q+RM
Aquantia AQC107搭載の10Gbeを2台のLinuxPC(CentOS7.4)に搭載した. ハードウエア的には
[root@e ~]# lspci -vv
:
01:00.0 Ethernet controller: Device 1d6a:d107 (rev 02)
:
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s unlimited, L1 unlimited
:
LnkSta: Speed 8GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
:
Kernel modules: atlantic
:
[root@e ~]#
とデバイス側の接続要件 LnkCap が「Speed 8GT/s, Width x4,」で実際の接続 LnkSta でも「Speed 8GT/s, Width x4,」となっていた。
使用するiperf3は下記のようにして双方にインストール
[root@e ~]# yum -y install epel-release && yum -y install iperf3 iftop
片方をサーバと見立て、
[root@e ~]# iperf3 -s -B 192.168.1.1
としてもう片方となるマシンで下記を実行した
[root@localhost ~]# iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 4] local 192.168.1.128 port 58298 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 434 MBytes 3.64 Gbits/sec 0 1.85 MBytes
[ 4] 1.00-2.00 sec 399 MBytes 3.34 Gbits/sec 0 1.85 MBytes
[ 4] 2.00-3.00 sec 401 MBytes 3.37 Gbits/sec 0 1.85 MBytes
[ 4] 3.00-4.00 sec 401 MBytes 3.37 Gbits/sec 0 1.85 MBytes
[ 4] 4.00-5.00 sec 400 MBytes 3.36 Gbits/sec 0 1.85 MBytes
[ 4] 5.00-6.00 sec 400 MBytes 3.36 Gbits/sec 0 1.85 MBytes
[ 4] 6.00-7.00 sec 400 MBytes 3.36 Gbits/sec 0 1.85 MBytes
[ 4] 7.00-8.00 sec 399 MBytes 3.34 Gbits/sec 0 1.85 MBytes
[ 4] 8.00-9.00 sec 400 MBytes 3.36 Gbits/sec 0 1.85 MBytes
[ 4] 9.00-10.00 sec 400 MBytes 3.36 Gbits/sec 0 1.85 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 3.94 GBytes 3.38 Gbits/sec 0 sender
[ 4] 0.00-10.00 sec 3.94 GBytes 3.38 Gbits/sec receiver
iperf Done.
[root@localhost ~]#
初回実行時には 10Gbits/sec に近い値を出すものの、続く二回目以降は上記の値となる。
手軽にスピードアップは図られるけど、謳い文句には程遠い。
またCentOS7.4に同封された atlantic.ko(1.5.345.0) ドライバーは kworker の高負荷を生むのか実際のファイル転送で 1Gbps ほどに落ちた.
別途拾った 1.6.7.0 のドライバーでファイル転送が 3Gbps ほどまで回復した.
*公式サイトではないですが、ここから取得した https://github.com/paul-chambers/aquantia
米国amazonのレビューを読むと Ubuntu 17.10(kernel-4.13) では常時 10Gbps ほどで動くみたい.
kernel-4.13 には atlantic.ko(1.5.345.0) が同封されているのに...同じなのになぜ...
https://elixir.bootlin.com/linux/v4.13/source/drivers/net/ethernet/aquantia/atlantic/ver.h
kernel-4.15は atlantic.ko(1.6.13.0) が採用され、kernel-4.16は atlantic.ko(2.0.2.0) が用意されるみたい。
aquantiaのサイトでは 2.0.0.0 が置かれている. こちらでテストしてみるのもいいかも