Merge branch 'hfi1' into k.o/for-4.14
[sfrench/cifs-2.6.git] / Documentation / IRQ-affinity.txt
index 01a675175a3674ef88a08ebb4f430dca3a4e4ec2..29da5000836a973d8272a431189fc44e2a142607 100644 (file)
@@ -1,8 +1,11 @@
+================
+SMP IRQ affinity
+================
+
 ChangeLog:
-       Started by Ingo Molnar <mingo@redhat.com>
-       Update by Max Krasnyansky <maxk@qualcomm.com>
+       Started by Ingo Molnar <mingo@redhat.com>
+       Update by Max Krasnyansky <maxk@qualcomm.com>
 
-SMP IRQ affinity
 
 /proc/irq/IRQ#/smp_affinity and /proc/irq/IRQ#/smp_affinity_list specify
 which target CPUs are permitted for a given IRQ source.  It's a bitmask
@@ -16,50 +19,52 @@ will be set to the default mask. It can then be changed as described above.
 Default mask is 0xffffffff.
 
 Here is an example of restricting IRQ44 (eth1) to CPU0-3 then restricting
-it to CPU4-7 (this is an 8-CPU SMP box):
+it to CPU4-7 (this is an 8-CPU SMP box)::
 
-[root@moon 44]# cd /proc/irq/44
-[root@moon 44]# cat smp_affinity
-ffffffff
+       [root@moon 44]# cd /proc/irq/44
+       [root@moon 44]# cat smp_affinity
+       ffffffff
 
-[root@moon 44]# echo 0f > smp_affinity
-[root@moon 44]# cat smp_affinity
-0000000f
-[root@moon 44]# ping -f h
-PING hell (195.4.7.3): 56 data bytes
-...
---- hell ping statistics ---
-6029 packets transmitted, 6027 packets received, 0% packet loss
-round-trip min/avg/max = 0.1/0.1/0.4 ms
-[root@moon 44]# cat /proc/interrupts | grep 'CPU\|44:'
-           CPU0       CPU1       CPU2       CPU3      CPU4       CPU5        CPU6       CPU7
- 44:       1068       1785       1785       1783         0          0           0         0    IO-APIC-level  eth1
+       [root@moon 44]# echo 0f > smp_affinity
+       [root@moon 44]# cat smp_affinity
+       0000000f
+       [root@moon 44]# ping -f h
+       PING hell (195.4.7.3): 56 data bytes
+       ...
+       --- hell ping statistics ---
+       6029 packets transmitted, 6027 packets received, 0% packet loss
+       round-trip min/avg/max = 0.1/0.1/0.4 ms
+       [root@moon 44]# cat /proc/interrupts | grep 'CPU\|44:'
+               CPU0       CPU1       CPU2       CPU3      CPU4       CPU5        CPU6       CPU7
      44:       1068       1785       1785       1783         0          0           0         0    IO-APIC-level  eth1
 
 As can be seen from the line above IRQ44 was delivered only to the first four
 processors (0-3).
 Now lets restrict that IRQ to CPU(4-7).
 
-[root@moon 44]# echo f0 > smp_affinity
-[root@moon 44]# cat smp_affinity
-000000f0
-[root@moon 44]# ping -f h
-PING hell (195.4.7.3): 56 data bytes
-..
---- hell ping statistics ---
-2779 packets transmitted, 2777 packets received, 0% packet loss
-round-trip min/avg/max = 0.1/0.5/585.4 ms
-[root@moon 44]# cat /proc/interrupts |  'CPU\|44:'
-           CPU0       CPU1       CPU2       CPU3      CPU4       CPU5        CPU6       CPU7
- 44:       1068       1785       1785       1783      1784       1069        1070       1069   IO-APIC-level  eth1
+::
+
+       [root@moon 44]# echo f0 > smp_affinity
+       [root@moon 44]# cat smp_affinity
+       000000f0
+       [root@moon 44]# ping -f h
+       PING hell (195.4.7.3): 56 data bytes
+       ..
+       --- hell ping statistics ---
+       2779 packets transmitted, 2777 packets received, 0% packet loss
+       round-trip min/avg/max = 0.1/0.5/585.4 ms
+       [root@moon 44]# cat /proc/interrupts |  'CPU\|44:'
+               CPU0       CPU1       CPU2       CPU3      CPU4       CPU5        CPU6       CPU7
+       44:       1068       1785       1785       1783      1784       1069        1070       1069   IO-APIC-level  eth1
 
 This time around IRQ44 was delivered only to the last four processors.
 i.e counters for the CPU0-3 did not change.
 
-Here is an example of limiting that same irq (44) to cpus 1024 to 1031:
+Here is an example of limiting that same irq (44) to cpus 1024 to 1031::
 
-[root@moon 44]# echo 1024-1031 > smp_affinity_list
-[root@moon 44]# cat smp_affinity_list
-1024-1031
+       [root@moon 44]# echo 1024-1031 > smp_affinity_list
+       [root@moon 44]# cat smp_affinity_list
+       1024-1031
 
 Note that to do this with a bitmask would require 32 bitmasks of zero
 to follow the pertinent one.