blob: 938d7dd054905edfae6d9bc76ca27ffdfbd42629 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001
2SMP IRQ affinity, started by Ingo Molnar <mingo@redhat.com>
3
4
5/proc/irq/IRQ#/smp_affinity specifies which target CPUs are permitted
6for a given IRQ source. It's a bitmask of allowed CPUs. It's not allowed
7to turn off all CPUs, and if an IRQ controller does not support IRQ
8affinity then the value will not change from the default 0xffffffff.
9
10Here is an example of restricting IRQ44 (eth1) to CPU0-3 then restricting
11the IRQ to CPU4-7 (this is an 8-CPU SMP box):
12
13[root@moon 44]# cat smp_affinity
14ffffffff
15[root@moon 44]# echo 0f > smp_affinity
16[root@moon 44]# cat smp_affinity
170000000f
18[root@moon 44]# ping -f h
19PING hell (195.4.7.3): 56 data bytes
20...
21--- hell ping statistics ---
226029 packets transmitted, 6027 packets received, 0% packet loss
23round-trip min/avg/max = 0.1/0.1/0.4 ms
24[root@moon 44]# cat /proc/interrupts | grep 44:
25 44: 0 1785 1785 1783 1783 1
261 0 IO-APIC-level eth1
27[root@moon 44]# echo f0 > smp_affinity
28[root@moon 44]# ping -f h
29PING hell (195.4.7.3): 56 data bytes
30..
31--- hell ping statistics ---
322779 packets transmitted, 2777 packets received, 0% packet loss
33round-trip min/avg/max = 0.1/0.5/585.4 ms
34[root@moon 44]# cat /proc/interrupts | grep 44:
35 44: 1068 1785 1785 1784 1784 1069 1070 1069 IO-APIC-level eth1
36[root@moon 44]#
37