irqbalance/irqbalance.1
Neil Horman c1af476ab1 irqbalance: add numa_node setting to polscript
Often systems don't populate ACPI correctly, and inform the OS that a particular
device isn't local to any node (numa_node == -1).  This property in polscript
allows you to override that setting, so that numa nodes can be properly
specified based on documentation

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
2013-02-13 15:21:46 -05:00

148 lines
4.8 KiB
Groff

.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "IRQBALANCE" 1 "Dec 2006" "Linux" "irqbalance"
.SH NAME
irqbalance \- distribute hardware interrupts across processors on a multiprocessor system
.SH "SYNOPSIS"
.nf
\fBirqbalance\fR
.fi
.SH "DESCRIPTION"
.PP
The purpose of \fBirqbalance\fR is distribute hardware interrupts across processors on a multiprocessor system in order to increase performance\&.
.SH "OPTIONS"
.TP
.B --oneshot
Causes irqbalance to be run once, after which the daemon exits
.TP
.B --debug
Causes irqbalance to print extra debug information. Implies --foreground
.TP
.B --foreground
Causes irqbalance to run in the foreground (without --debug)
.TP
.B --hintpolicy=[exact | subset | ignore]
Set the policy for how irq kernel affinity hinting is treated. Can be one of:
.P
.I exact
irq affinity hint is applied unilaterally and never violated
.P
.I subset
irq is balanced, but the assigned object will be a subset of the affintiy hint
.P
.I ignore
irq affinity hint value is completely ignored
.TP
.B --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.
.TP
.B --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:
.B irqbalance --banirq=43 --banirq=44
.TP
.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 opportunity for manual affinity setting in one
single code point.
.B NOTE: The banscript option is deprecated. Please use the
.B --polscript option instead
.TP
.B --policyscript=<script>
An superset of the functionality found in the --banscript option. When
specified, the referenced script will execute once for each discovered irq The
script may specify zero or more key=value pairs that will guide irqbalance in
the management of that irq. The script will be passed the path to the sysfs
device that owns the irq and the irq number itself as the first and second
arguments. 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:
.TP
.I ban=[true | false]
.tP
Directs irqbalance to exclude the passed in irq from balancing
.TP
.I 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.
.TP
.I 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 equidistant from all nodes.
.TP
.B --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.
.SH "ENVIRONMENT VARIABLES"
.TP
.B IRQBALANCE_ONESHOT
Same as --oneshot
.TP
.B IRQBALANCE_DEBUG
Same as --debug
.TP
.B IRQBALANCE_BANNED_CPUS
Provides a mask of cpus which irqbalance should ignore and never assign interrupts to
.SH "SIGNALS"
.TP
.B SIGHUP
Forces a rescan of the available irqs and system topology
.SH "Homepage"
http://code.google.com/p/irqbalance