IOAT가 활성화되었지만 Linux에서 사용되지 않습니까?


11

igb 버전 4.1.2가 설치된 R610s에서 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


레드햇 6 맞지?
mdpc

@ mdpc : CentOS 6.3, 훨씬 더 새로운 커널을 사용해 보았지만 도움이되지 않았는지 확인했습니다. 이것은 내가는 IPSec 트래픽 자체에 오프로드 기대하지 것을 IPSec을 트래픽 (와 ksoftirqd에 높은 SI %를 가진 경우 보조 문제가 발견했지만 것이라고는 전혀 IOATDMA이없는 것 같다.
카일 브랜

2
마더 보드 칩셋은 IOAT를 지원합니까? 시스템 BIOS에서 IOAT가 켜져 있습니까? dmesg에 "Intel (R) I / OAT DMA 엔진이 발견되었습니다"가 표시됩니까? IOAT를 지원하는 NIC가 있음을 나타냅니다. dmesg에 "BIOS에서 DCA가 비활성화되어 있습니다"라는 메시지가 표시됩니까? 이것은 DCA에 대한 BIOS 지원 또는 활성화가 없음을 나타냅니다.
suprjami

지난 몇 년 전 Dell에 물었을 때 R610 BIOS가 DCA를 지원하지 않거나 지원을 추가 할 계획도 없다고 말했다.
Craig

2
맞습니다. "dmesg | grep DCA"는 무엇을 보여 주었습니까?
Danila Ladner

답변:


4

보내는 패킷이 얼마나 큽니까? 기본적으로 IOATDMA 드라이버는 큰 패킷 크기에서만 사용됩니다. 다음을 사용하여 현재 설정을 볼 수 있습니다.

cat /proc/sys/net/ipv4/tcp_dma_copybreak

값을 낮추려면 sysctl을 사용하여 설정할 수 있습니다. 예를 들어, 패킷 크기를 1로 설정하려면 다음을 사용하십시오.

sysctl net.ipv4.tcp_dma_copybreak=1

2

시작하기 전에 하드 드라이브 펌웨어를 포함하여 BIOS와 같은 완전한 서버를 업데이트하십시오.

둘째, 항상 최신 인텔 네트워크 드라이버를 사용하십시오 igb. 소스에서 컴파일하십시오.

BIOS는 DCA와 IOATDMA를 모두 활성화합니다. 리눅스에서 이것을 시도하십시오 :

# modprobe ioatdma

# dmesg

ioatdma 드라이버가로드 된 것을 볼 수 있습니다.

이제 igb드라이버 ixgbe는 10GBps 와 다릅니다 . 내가 사용 해달라고 때문에 igb전혀를, 나는 정지 네트워크에 시도 말할 수 /etc/init.d/network stoprmmod igbmodprobe igb차이 및 사후 결과는 PLS 할 수있는 경우가 있는지 다시.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.