irqbalance(1) - Linux man page

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

--oneshot

Causes irqbalance to be run once, after which the daemon exits
--debug
Causes irqbalance to print extra debug information. Implies --foreground
--foreground
Causes irqbalance to run in the foreground (without --debug)
--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

--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 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.
--banirq=<irqnum>
Add the specified irq list 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
--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 opportunity for manual affinity setting in one single code point.
--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.

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 irqbalance from assigning irqs to the 1st (cpu0) and 57th-64th cpus (cpu56-cpu63).

Signals

SIGHUP

Forces a rescan of the available irqs and system topology

Homepage

http://code.google.com/p/irqbalance