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로 갈 때 최소한 네트워크 대역폭이 증가하는 것을 볼 수 있습니다.
두 이더넷 인터페이스의 인터럽트를 별도의 코어로 라우팅하는 방법이 있습니까?
관련 정보
- byobu 및 tmux를 사용하여 개발 환경을 자동으로 엽니다.
- Evolution의 캘린더 바탕 화면 알림을 표시할 수 없습니다
- grep --color=auto ^M이 색상 일치 내에 있으면 중단됩니다.
- POSIX 방식으로 문자열 변수의 줄 수를 계산하는 방법은 무엇입니까?
- MAC OSX를 사용하여 파일의 문자열 바꾸기
- GNU tar는 gitignore의 디렉토리를 무시하기 위해 --exclude-vcs-ignores를 사용하지 않습니다.
- for 루프에서 파일을 무시하는 방법
- 파일 삭제 후 zip 아카이브 동기화
- 셸에서 여러(복합 포함) 확장자를 사용하여 파일 세트 이름 바꾸기
- Bash가 가끔 기록에서 #개의 주석 처리된 명령만 읽는 이유는 무엇입니까?