![누락된 커널 기능(XENFEAT_hvm_pirqs)으로 인해 RedHat EC2 인터럽트 문제가 발생할 수 있습니까?](https://linux55.com/image/112975/%EB%88%84%EB%9D%BD%EB%90%9C%20%EC%BB%A4%EB%84%90%20%EA%B8%B0%EB%8A%A5(XENFEAT_hvm_pirqs)%EC%9C%BC%EB%A1%9C%20%EC%9D%B8%ED%95%B4%20RedHat%20EC2%20%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8%20%EB%AC%B8%EC%A0%9C%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
AWS EC2에서 커널 2.6.32.431을 실행하는 RedHat 6.5가 있고 설명서에서 권장하는 최소 버전을 사용하여 ixgbevf 드라이버를 설치했습니다. 구성이 완료되면 시스템에는 이제 2개의 대기열(IRQ)이 있습니다.
grep eth0-TxRx /proc/인터럽트
48: 7986 0 0 0 0 0 0 0 PCI-MSI 에지 eth0-TxRx-0
49: 7026 0 0 0 0 0 0 0 PCI-MSI 에지 eth0-TxRx-1
그러나 /proc/irq/48/smp_affinity 또는 /proc/irq/49/smp_affinity를 4로 변경해도 아무 변화가 없는 것 같습니다. "eth0-TxRx | /proc/interrupts"의 출력은 변경되지 않고 유지됩니다.
grep eth0-TxRx /proc/인터럽트
48: 8025 0 0 0 0 0 0 0 PCI-MSI 에지 eth0-TxRx-0
49: 7096 0 0 0 0 0 0 0 PCI-MSI 에지 eth0-TxRx-1
대기열은 CPU 코어 0에 고정된 상태로 유지됩니다.
나는 한동안 해결책을 찾고 있었는데 일부 답변에 따르면 커널 2.6.32.431을 실행할 때 Redhat 6.5에 XENFEAT_hvm_pirqs 커널 기능이 누락되어 있습니다. 하지만 어떻게든 RedHat 6.9에서는 작동합니다.
grep Tx /proc/인터럽트
48: 16 0 0 0 2810 0 0 0 PCI-MSI 에지 eth0-TxRx-0
49: 22 2326 0 0 0 0 0 0 PCI-MSI 에지 eth0-TxRx-1
XENFEAT_hvm_pirqs를 사용하면 출력에 xen-pirq-msi가 표시되어야 하지만 여기서는 RedHat 6.9와 RedHat 6.5 모두 PCI-MSI-edge를 표시합니다. 내 생각에는 그들 중 누구도 여기서 XENFEAT_hvm_pirqs 플래그를 사용하지 않는 것 같습니다. 그렇죠?
커널 플래그가 정확히 무엇인지 알아내는 데 도움을 줄 수 있는 사람이 있습니까? XENFEAT_hvm_pirqs의 목적은 무엇입니까? 이 플래그가 이 질문과 관련이 있나요? 이 문제를 해결하는 데 사용할 수 있는 백포트가 있습니까?
그런데 RedHat 6.5는 Vmware에서 가져왔고 Vmware에서 잘 실행됩니다. 그리고 smp_affinity 매개변수는 예상대로 작동합니다. 어떤 답변이라도 미리 감사드립니다.