a8adea2e95
Issue 35: http://code.google.com/p/irqbalance/issues/detail?id=35 Indicated that the --banscript option wasn't really sufficient for user policy needs in irqbalance. As such, I've improved the implementation and added the --policyscript option, which allows for a script to return an arbitrary number of key=value pairs that can direct the behavior of irqbalance for individual irqs. Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
140 lines
4.2 KiB
Groff
140 lines
4.2 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
|
|
.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
|
|
|
|
|