SMP affinity change

kjcsb kjcsb at orcon.net.nz
Fri Jun 9 18:45:22 UTC 2006


I am running Fedora Core 4 2.6.16-1.2111 smp kernel on an aging 2 CPU Dell 
PowerEdge 2300. I am attempting to resolve some issues I'm having with a PCI 
device. I have changed many things (see posts to Asterisk users list 
entitled "Audio problems on Zap & SIP, local network, not IRQ related?") and 
am now trying to change the SMP affinity so that the PCI device (which is 
using IRQ20) is handled solely by CPU1:
cat /proc/interrupts
           CPU0       CPU1
  0:      54233      51707    IO-APIC-edge  timer
  1:          1          7    IO-APIC-edge  i8042
  8:          0          1    IO-APIC-edge  rtc
  9:          0          0   IO-APIC-level  acpi
 16:      47254      46402   IO-APIC-level  megaraid
 17:       2169       1325   IO-APIC-level  aic7xxx, aic7xxx
 18:        305         13   IO-APIC-level  eth0
 19:          0          0   IO-APIC-level  uhci_hcd:usb1
 20:      25694      20011   IO-APIC-level  wctdm
NMI:          0          0
LOC:     105840     105584
ERR:          0
MIS:          0

echo 2 > /proc/irq/20/smp_affinity
cat /proc/irq/20/smp_affinity
00000002

However I can see the interrupts for IRQ 20 are still incrementing on both 
CPUs. Indeed, after about 10 seconds...
cat /proc/irq/20/smp_affinity
00000001

On further investigation, the SMP affinity on ALL of the IRQs is set to 
00000001. This implies that everything is handled by CPU0, which it clearly 
is not!

I wonder if anyone has experienced anything similar or could offer some 
suggestions?

Regards

Cameron 




More information about the fedora-list mailing list