Man Pages

irqbalance(1) - phpMan irqbalance(1) - phpMan

Command: man perldoc info search(apropos)  


IRQBALANCE(1)                     irqbalance                     IRQBALANCE(1)



NAME
       irqbalance - distribute hardware interrupts across processors on a multiprocessor system

SYNOPSIS
       irqbalance


DESCRIPTION
       The  purpose  of  irqbalance  is distribute hardware interrupts across processors on a multiprocessor system in
       order to increase performance.


OPTIONS
       -o, --oneshot
              Causes irqbalance to be run once, after which the daemon exits


       -d, --debug
              Causes irqbalance to print extra debug information.  Implies --foreground


       -f, --foreground
              Causes irqbalance to run in the foreground (without --debug)


       -h, --hintpolicy=[exact | subset | ignore]
              Set the policy for how irq kernel affinity hinting is treated.  Can be one of:

       exact irq affinity hint is applied unilaterally and never violated

       subset irq is balanced, but the assigned object will be a subset of the affintiy hint

       ignore irq affinity hint value is completely ignored

       The default value for hintpolicy is ignore


       -p, --powerthresh=<threshold>
              Set the threshold at which we attempt to move a cpu into powersave mode If more  than  <threshold>  cpus
              are  more  than 1 standard deviation below the average cpu softirq workload, and no cpus are more than 1
              standard deviation above (and have more than 1 irq assigned to them), attempt to place 1 cpu  in  power-
              save mode.  In powersave mode, a cpu will not have any irqs balanced to it, in an effort to prevent that
              cpu from waking up without need.


       -i, --banirq=<irqnum>
              Add the specified irq to the set of banned irqs. irqbalance will not affect the affinity of any irqs  on
              the  banned  list, allowing them to be specified manually.  This option is addative and can be specified
              multiple times. For example to ban irqs 43 and 44  from  balancing,  use  the  following  command  line:
              irqbalance --banirq=43 --banirq=44


       --deepestcache=<integer>
              This  allows a user to specify the cache level at which irqbalance partitions cache domains.  Specifying
              a deeper cache may allow a greater degree of flexibility  for  irqbalance  to  assign  irq  affinity  to
              achieve greater performance increases, but setting a cache depth too large on some systems (specifically
              where all cpus on a system share the deepest cache lavel), will cause irqbalance  to  see  balancing  as
              unnesessecary.  irqbalance --deepestcache=2

       The default value for deepestcache is 2.


       -b, --banscript=<script>
              Execute  the  specified script for each irq that is discovered, passing the sysfs path to the associated
              device as the first argument, and the irq vector as the second.  An exit value  of  0  tells  irqbalance
              that  this  interrupt  should balanced and managed as a normal irq, while a non-zero exit code indicates
              this irq should be ignored by irqbalance completely (see --banirq above).  Use of this  script  provides
              users  the ability to dynamically select which irqs get exluded from balancing, and provides an opportu-
              nity for manual affinity setting in one single code point.


       -l, --policyscript=<script>
              When specified, the referenced script will execute once for each discovered irq, with the  sysfs  device
              path  and  irq  number passed as arguments.  Note that the device path argument will point to the parent
              directory from which the irq attributes directory may be directly opened.  The script may  specify  zero
              or  more  key=value pairs that will guide irqbalance in the management of that irq.  Key=value pairs are
              printed by the script on stdout and will be captured and interpreted by irqbalance.  Irqbalance  expects
              a zero exit code from the provided utility.  Recognized key=value pairs are:

       ban=[true | false]
              Directs irqbalance to exclude the passed in irq from balancing

       balance_level=[none | package | cache | core]
              This allows a user to override the balance level of a given irq.  By default the balance level is deter-
              mined automatically based on the pci device class of the device that owns the irq.

       numa_node=<integer>
              This allows a user to override the numa node that sysfs indicates  a  given  device  irq  is  local  to.
              Often,  systems  will  not  specify  this  information  in ACPI, and as a result devicesa are considered
              equidistant from all numa nodes in a system.  This option allows for that hardware provided  information
              to be overridden, so that irqbalance can bias irq affinity for these devices toward its most local node.
              Note that specifying a -1 here forces irqbalance to consider an interrupt from a device to  be  equidis-
              tant from all nodes.

       -s, --pid=<file>
              Have  irqbalance  write  its  process  id to the specified file.  By default no pidfile is written.  The
              written pidfile is automatically unlinked when irqbalance exits. It is ignored when used with --debug or
              --foreground.


ENVIRONMENT VARIABLES
       IRQBALANCE_ONESHOT
              Same as --oneshot


       IRQBALANCE_DEBUG
              Same as --debug


       IRQBALANCE_BANNED_CPUS
              Provides a mask of cpus which irqbalance should ignore and never assign interrupts to


SIGNALS
       SIGHUP Forces a rescan of the available irqs and system topology


Homepage
       https://github.com/Irqbalance/irqbalance





Linux                              Dec 2006                      IRQBALANCE(1)