Petalinux를 실행하는 Xilinx FPGA 보드의 PCIe 포트에 두 개의 이더넷 포트(x550-T2)가 설치된 Intel의 10G 이더넷 어댑터가 있습니다. 두 개의 10G 포트에서 동시에 iperf3 서버-클라이언트 연결을 실행하여 네트워크 대역폭을 테스트하고 있습니다. 그러나 2x 10G 링크의 대역폭은 1x 10G 링크와 동일합니다. 그 이유는 병목 현상이 링크 용량이 아니라 인터럽트 처리에 있기 때문입니다. Xilinx FPGA PCIe 인터페이스는 RSS(Receive Side Scaling)를 지원하지 않으므로 모든 인터럽트가 CPU0으로 전달되어 CPU0이 인터럽트 처리로 과부하를 받게 됩니다. 이는 1x 또는 2x 10G 링크가 활성 상태인지 여부에 관계없이 적용됩니다. 그래서 eth1 인터럽트를 CPU0으로, eth2 인터럽트를 CPU1로 전달할 수 있는지 궁금했습니다. 그러면 10G 링크가 1x에서 2x로 갈 때 최소한 네트워크 대역폭이 증가하는 것을 볼 수 있습니다.
두 이더넷 인터페이스의 인터럽트를 별도의 코어로 라우팅하는 방법이 있습니까?
관련 정보
- 백그라운드에서 동일한 명령을 여러 번 실행
- 여러 디스크가 있는 서버에서 특정 물리 디스크를 식별하는 명령
- Bash - 따옴표 안의 항목을 업데이트하는 방법(숫자인 경우에만)
- nmcli를 사용하여 추가된 정적 경로가 표시되지 않습니다.
- iptables를 사용하여 외부 요청을 localhost로 리디렉션
- pts/1의 `stty -a < /dev/pts/0` 출력이 pts/0의 `stty -a`와 다른 이유는 무엇입니까? [복사]
- Linux가 새로 생성된 프로세스에 특정 PID 번호를 사용하는 것을 방지하는 방법은 무엇입니까?
- exec tar 명령과 함께 사용할 수 있도록 grep 결과를 변수에 전달하려면 어떻게 해야 합니까?
- Curl이 로컬 호스트를 로드할 수 없습니다: "404 Not Found" 답변
- Linux 명령줄 긴 목록 필드 문제