IRQBALANCE(1) irqbalance IRQBALANCE(1)
NAME
irqbalance - distribute hardware interrupts across processors on a mul-
tiprocessor system
SYNOPSIS
irqbalance
DESCRIPTION
The purpose of irqbalance is distribute hardware interrupts across pro-
cessors 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 power-
save 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 powersave 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 irqbal-
ance partitions cache domains. Without specified, irqbalance
searches the available deepest cache. This can affect how
irqbalance builds up the CPU tree. For example, on a system
where all the CPU cores being within the same L3 cache domain,
one can let irqbalance build up the CPU tree on L2 cache by
using the following command line: irqbalance --deepestcache=2
-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 determined 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 indi-
cates 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 over-
ridden, 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 equidistant 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 automati-
cally 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. This is a hex mask without the leading
'0x', on systems with large numbers of processors each group of
eight hex digits is separated by a comma ','. i.e. `export
IRQBALANCE_BANNED_CPUS=fc0` would prevent irqbalance from
assigning irqs to the 7th-12th cpus (cpu6-cpu11) or `export
IRQBALANCE_BANNED_CPUS=ff000000,00000001` would prevent irqbal-
ance from assigning irqs to the 1st (cpu0) and 57th-64th cpus
(cpu56-cpu63). If not specified, irqbalance use mask of iso-
lated and adaptive-ticks CPUs on the system as the default
value.
SIGNALS
SIGHUP Forces a rescan of the available irqs and system topology
Homepage
https://github.com/Irqbalance/irqbalance
Linux Dec 2006 IRQBALANCE(1)