Na naszych R610 z igb w wersji 4.1.2 widzę ładowanie modułu ioatdma (i ładowane z 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
Mamy czteroportowy port Intel nic, który powinien go wspierać:
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)
Wygląda jednak na to, że nie jest wykorzystywany do żadnego ruchu sieciowego:
[root@or-rtlb01 ~]# cat /sys/class/dma/dma*/bytes*
0
0
0
0
0
0
0
0
Czy ktoś wie, jak to zrobić, aby ioat był używany do ruchu sieciowego?
Jądro jest 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
linux
networking
centos
intel
Kyle Brandt
źródło
źródło
Odpowiedzi:
Jak duże są pakiety, które wysyłasz? Domyślnie sterownik IOATDMA jest używany tylko w przypadku dużych pakietów. Możesz wyświetlić bieżące ustawienie za pomocą:
Jeśli chcesz, aby wartość była niższa, możesz ustawić ją za pomocą sysctl. Na przykład, aby ustawić rozmiar pakietu na 1, użyj:
źródło
Przed rozpoczęciem zaktualizuj pełny serwer, taki jak BIOS, w tym oprogramowanie dysku twardego.
Po drugie, zawsze używaj najnowszego sterownika sieciowego Intel
igb
. Po prostu skompiluj to ze źródła.BIOS włącza zarówno DCA, jak i IOATDMA. W systemie Linux spróbuj tego:
# modprobe ioatdma
# dmesg
Powinieneś zobaczyć załadowany sterownik ioatdma.
Teraz
igb
sterownik różni się od 10ixgbe
GB / s. Ponieważ ja nie używajigb
w ogóle, mogę powiedzieć, aby spróbować sieci zatrzymania/etc/init.d/network stop
irmmod igb
imodprobe igb
ponownie, aby sprawdzić, czy są jakieś różnice i post wyniki jeśli możesz pls.źródło