14.4. 개별 IRQ에 CPU 선호도를 수동으로 할당
CPU 선호도를 할당하면 프로세스 및 스레드를 지정된 CPU 또는 CPU 범위에 바인딩 및 바인딩 해제할 수 있습니다. 이렇게 하면 캐싱 문제를 줄일 수 있습니다.
절차
/proc/interrupts파일을 확인하여 각 장치에서 사용 중인 IRQ를 확인합니다.cat /proc/interrupts
# cat /proc/interruptsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 각 줄에는 IRQ 번호, 각 CPU에서 발생한 인터럽트 수, IRQ 유형 및 설명이 표시됩니다.
CPU0 CPU1 0: 26575949 11 IO-APIC-edge timer 1: 14 7 IO-APIC-edge i8042
CPU0 CPU1 0: 26575949 11 IO-APIC-edge timer 1: 14 7 IO-APIC-edge i8042Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 IRQ의
smp_affinity항목에 CPU 마스크를 작성합니다. CPU 마스크는 16진수로 표시되어야 합니다.예를 들어 다음 명령은 CPU 0에서만 실행되도록 IRQ 번호 142에 지시합니다.
echo 1 > /proc/irq/142/smp_affinity
# echo 1 > /proc/irq/142/smp_affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항은 인터럽트가 발생했을 때만 적용됩니다.
검증
- 지정된 인터럽트를 트리거할 활동을 수행합니다.
/proc/interrupts에서 변경 사항을 확인합니다.구성된 IRQ에 대해 지정된 CPU의 인터럽트 수가 증가하고 지정된 선호도 외부의 CPU에서 구성된 IRQ의 인터럽트 수가 증가하지 않았습니다.