IRQBALANCE(1) irqbalance IRQBALANCE(1)
irqbalance - distribute hardware interrupts across processors on a multiprocessor system
The purpose of irqbalance is distribute hardware interrupts across processors on a multi-
processor system in order to increase performance.
Causes irqbalance to be run once, after which the daemon exits
Causes irqbalance to print extra debug information. Implies --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
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 powersave mode. In
powersave mode, a cpu will not have any irqs balanced to it, in an effort to pre-
vent that cpu from waking up without need.
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
When specified, the referenced script will execute once for each discovered irq,
with the sysfs device path and irq number passed as arguments. 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 cap-
tured 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.
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 equidistant from all nodes.
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.
Same as --oneshot
Same as --debug
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 irqbalance from assigning irqs to the 1st (cpu0) and 57th-64th cpus
SIGHUP Forces a rescan of the available irqs and system topology
Linux Dec 2006 IRQBALANCE(1)