Ubuntu 14.04에서는 모든 인터럽트를 코어 0과 4개 코어 중 1개에 바인딩해 보았습니다. irqbalance daemon
파일을 통해 비활성화했습니다 /etc/init/irqbalance.override
. 그런 다음 /proc/irq의 모든 인터럽트로 이동하여 파일을 변경했습니다 /proc/irq/<irq-num>/smp_affinity_list
. 하지만 LOC(/etc/init/SERVICE.override), IWI(/etc/init/SERVICE.override) 및 RES(/etc/init/SERVICE.override) 인터럽트는 여전히 각 코어에서 처리되고 다른 모든 인터럽트는 예상 코어에 올바르게 바인딩되었습니다. 이러한 LOC, IWI 및 RES 인터럽트를 바인딩할 수 없는 이유는 무엇입니까? 아니면 irqbalance
비활성화되었을 때 특정 코어에 영구적으로 바인딩하는 방법은 무엇입니까? 코어 0과 1을 가리키도록 파일을 수정했는데도 /proc/irq/default_smp_affinity
효과가 없었습니다.
또 하나의 관찰입니다. 인터럽트 0과 2를 CPU 목록에 바인딩할 수 없습니다. 인터럽트 0은 CPU 0에서만 발생하는 것으로 보이지만, 인터럽트 2는 /proc/interrupts 파일에 없으며 0번만 발생하는 것으로 보입니다.