The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/Documentation/IRQ-affinity.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 
    2 SMP IRQ affinity, started by Ingo Molnar <mingo@redhat.com>
    3 
    4 
    5 /proc/irq/IRQ#/smp_affinity specifies which target CPUs are permitted
    6 for a given IRQ source. It's a bitmask of allowed CPUs. It's not allowed
    7 to turn off all CPUs, and if an IRQ controller does not support IRQ
    8 affinity then the value will not change from the default 0xffffffff.
    9 
   10 Here is an example of restricting IRQ44 (eth1) to CPU0-3 then restricting
   11 the IRQ to CPU4-7 (this is an 8-CPU SMP box):
   12 
   13 [root@moon 44]# cat smp_affinity
   14 ffffffff
   15 [root@moon 44]# echo 0f > smp_affinity
   16 [root@moon 44]# cat smp_affinity
   17 0000000f
   18 [root@moon 44]# ping -f h
   19 PING hell (195.4.7.3): 56 data bytes
   20 ...
   21 --- hell ping statistics ---
   22 6029 packets transmitted, 6027 packets received, 0% packet loss
   23 round-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
   26 1          0   IO-APIC-level  eth1
   27 [root@moon 44]# echo f0 > smp_affinity
   28 [root@moon 44]# ping -f h
   29 PING hell (195.4.7.3): 56 data bytes
   30 ..
   31 --- hell ping statistics ---
   32 2779 packets transmitted, 2777 packets received, 0% packet loss
   33 round-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 

Cache object: 2d29c2ae3cfd8cc758e5ed45001e9143


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.