Intel 10G NIC에서 사용되는 RX/TX 대기열 수를 설정하고 싶습니다. 이유를 설명해 드리겠습니다 :ixgbe : RX/TX 대기열 수 설정
Dell R720 시스템에서 X520 유형의 Intel 10G NIC를 사용하고 있습니다. 3.6.7-k 버전의 ixgbe를 사용하고 있습니다. 우분투 3.2.0-59의 커널.
시스템의 24 개 코어 중 4 개에서 네트워크 응용 프로그램을 실행하고 있습니다. 현재 NIC는 플로우 디렉터를 사용하고 있으므로 24 개의 TX 및 RX 대기열이 있으며 대부분의 IRQ는 마침내 4 코어에서 실행됩니다.
그러나 일부 IRQ가 다른 20 개의 대기열에서 실행되고있는 것을 볼 수 있습니다 (흐름 검색기에서 트래픽의 약 20 %를 차지하므로 정기적 인 RSS를 통해 트래픽이 발생 함). 이제 다른 IRQ가 실행 중일 때 손상된 다른 작업을 수행하면서 다른 20 개의 코어에서 어떤 IRQ도 실행되지 않도록해야합니다.
내가 사용하는 4 개의 코어에만 인터럽트의 친화력을 설정하려고했지만 flow-director와는 잘 작동하지 않습니다. 나는 4 개의 RX/TX 큐를 사용하고 그것들을 전용 코어에 할당하는 것이 더 나은 방법이라고 생각한다. 하지만 ixgbe 드라이버에서 RX/TX 대기열의 수를 설정하는 방법을 찾을 수 없었습니다 (Broadcom의 bnx2x와 같은 익숙한 다른 10G 드라이버에서는 상당히 간단 함에도 불구하고).
아이디어가 있으십니까?
실제로 커널 3.9 버전 (2013) 및 ixgbe 드라이버 "3.11.33-k"버전이 커널 (e1000 sf net이 아님)에서 가능합니다. 'ethtool -L eth1 combined 4'는 대기열 번호를 변경할 것입니다 (내가 알고있는 것처럼 카드의 부분 재 초기화가 있습니다). – osgx