Kernel에서 interrupt handling
안녕하세요?
저는 ATM 카드를 사용하고 있습니다. 그런데 커널에서
/proc/interrupt 파일을 보게 되면
0: 16312 279491 IO-APIC-edge timer
1: 674 0 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
8: 1 0 IO-APIC-edge rtc
9: 2 0 IO-APIC-level acpi
15: 5 0 IO-APIC-edge ide1
24: 1 0 IO-APIC-level he
-------------------------------------------------------------
27: 5482822 34 IO-APIC-level he
-------------------------------------------------------------
31: 11554 0 IO-APIC-level eth0
49: 33477 807 IO-APIC-level aic79xx
50: 30 0 IO-APIC-level aic79xx
NMI: 2 0
LOC: 295726 295749
ERR: 0
MIS: 0
CPU한개만 INTERRUPT를 대부분 처리하는걸로 나와있습니다.
그 아래에 있는 aic79xx도 마찬가지 인거 같구요.
실제 CPU는 1개이고 XEON입니다. Hyperthreading으로 2개로 보이고 있구요. redhat에 있는 irqbanance service를 동작시켜도 마찬가지네요.
또 /proc/irq/ 밑에 smp_affinity 값을 ffffffff로 설정해도 마찬가지 입니다.
ffffffff로 변경시켰습니다.
질문내용은.
1. 위와 같은 현상이 정상적인걸 까요?
2. 만약 그렇다면 이렇게 CPU한개가 대부분 처리하면 성능저하가 일어나게 되는게 아닐까요?
3. CPU n 개가 골고루 나누어서 처리를 하려면 어떻게 해야 할까요?
1. 정상이라고 하면 뭐하지만 현재 커널 자체에서는 그렇게 지원되고 있으
1. 정상이라고 하면 뭐하지만 현재 커널 자체에서는 그렇게 지원되고 있으니 정상
이라고 해야겠죠. 시스템 동작에는 문제가 없으니까요.
2. 성능저하는 일어나지 않는걸로 알고 있습니다. 음... 정껄끄러우면 하이퍼스레딩기능을
Off시켜놓으면 되니까요...
3....
이에 대한 질문과 답이
http://bbs.kldp.org/viewtopic.php?t=29282
에 있습니다. 한번 참조해 보세요.
------------------------------
좋은 하루 되세요.
댓글 달기