IOATは有効ですが、Linuxで使用されていませんか?


11

igbバージョン4.1.2を搭載したR610では、ioatdmaモジュールがロードされています(lsmodでロードされています)。

ioatdma: Intel(R) QuickData Technology Driver 4.00
ioatdma 0000:00:16.0: irq 80 for MSI/MSI-X
ioatdma 0000:00:16.1: irq 81 for MSI/MSI-X
ioatdma 0000:00:16.2: irq 82 for MSI/MSI-X
ioatdma 0000:00:16.3: irq 83 for MSI/MSI-X
ioatdma 0000:00:16.4: irq 84 for MSI/MSI-X
ioatdma 0000:00:16.5: irq 85 for MSI/MSI-X
ioatdma 0000:00:16.6: irq 86 for MSI/MSI-X
ioatdma 0000:00:16.7: irq 87 for MSI/MSI-X

これをサポートするクアッドポートIntel nicがあります。

07:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
07:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
08:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
08:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)

ただし、ネットワークトラフィックには使用されていないようです。

[root@or-rtlb01 ~]# cat /sys/class/dma/dma*/bytes*
0
0
0
0
0
0
0
0

ioatがネットワークトラフィックに使用されるようにする方法を知っていますか?

カーネルは Linux or-rtlb01.ds.stackexchange.com 3.7.7-1.el6.elrepo.x86_64 #1 SMP Mon Feb 11 22:28:07 EST 2013 x86_64 x86_64 x86_64 GNU/Linux


redhat 6が正しいですか?
mdpc

@mdpc:CentOS 6.3は、はるかに新しいカーネルを試して、それが役立つかどうかを確認しましたが、役に立ちませんでした。これは、(私は、IPSecトラフィック自体にオフロード期待しないというのIPSecトラフィックをksoftirqdに高いSI%を持つとき、二次問題が発見されたが、希望は全くIOATDMAがないようです。
カイルブラント

2
マザーボードのチップセットはIOATをサポートしていますか?システムBIOSでIOATがオンになっていますか?dmesgに「Intel(R)I / OAT DMA Engine found」と表示されますか?これは、IOATをサポートするNICが見つかったことを示します。dmesgに「BIOSでDCAが無効になっています」と表示されていますか?これは、DCAのBIOSサポートまたは有効化がないことを示します。
suprjami

数年前にデルに尋ねたとき、R610 BIOSはDCAをサポートしておらず、サポートを追加する計画もありませんでした。
クレイグ

2
そう、みんなが「dmesg | grep DCA」とは何を示しているのか?
ダニラ・ラドナー

回答:


4

送信するパケットの大きさはどれくらいですか?デフォルトでは、IOATDMAドライバーは大きなパケットサイズでのみ使用されます。現在の設定を表示するには:

cat /proc/sys/net/ipv4/tcp_dma_copybreak

値を低くしたい場合は、sysctlを使用して設定できます。たとえば、パケットサイズを1に設定するには、次を使用します。

sysctl net.ipv4.tcp_dma_copybreak=1

2

開始する前に、ハードドライブファームウェアを含むBIOSなどの完全なサーバーを更新します。

次に、常に最新のIntel Network Driverを使用しますigb。ソースからコンパイルするだけです。

BIOSはDCAとIOATDMAの両方を有効にします。Linuxではこれを試してください:

# modprobe ioatdma

# dmesg

ioatdmaドライバーがロードされているはずです。

現在、igbドライバーixgbeは10GBpsのものとは異なります。私igbはまったく使用していないので、ネットワークを停止/etc/init.d/network stoprmmod igbmodprobe igbplsが可能な場合は違いがあるかどうかを確認し、結果を投稿することを何度も試みるように伝えることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.