NAME¶
gsched —
control utility for disk
scheduler GEOM class
SYNOPSIS¶
gsched |
create [-v]
[-a
algorithm] provider
... |
gsched |
insert [-v]
[-a
algorithm] provider
... |
gsched |
configure
[-v]
[-a
algorithm] node
... |
gsched |
destroy
[-fv] node
... |
gsched |
reset [-v]
node ... |
gsched |
{ list | status |
load | unload } |
DESCRIPTION¶
The
gsched utility (also callable as
geom sched
...) changes the scheduling policy of the requests going to a provider.
The first argument to
gsched indicates an action to be
performed:
- create
- Create a new provider and geom node using the specified
scheduling algorithm. algorithm is the name of the
scheduling algorithm used for the provider. Available algorithms include:
rr, which implements anticipatory scheduling with
round robin service among clients; as, which
implements a simple form of anticipatory scheduling with no per-client
queue.
If the operation succeeds, the new provider should appear with name
/dev/⟨dev⟩.sched..
The kernel module geom_sched.ko will be loaded if it is
not loaded already.
- insert
- Operates as "create", but the insertion is
"transparent", i.e. the existing provider is rerouted to the
newly created geom, which in turn forwards requests to the existing geom.
This operation allows one to start/stop a scheduling service on an already
existing provider.
A subsequent "destroy" will remove the newly created geom and hook
the provider back to the original geom.
- configure
- Configure existing scheduling provider. It supports the
same options as the create command.
- destroy
- Destroy the geom specified in the parameter.
- reset
- Do nothing.
- list |
status | load |
unload
- See geom(8).
Additional options:
- -f
- Force the removal of the specified provider.
- -v
- Be more verbose.
SYSCTL VARIABLES¶
The following
sysctl(8) variables can be used to control the
behavior of the
SCHED GEOM class. The default value is shown
next to each variable.
- kern.geom.sched.debug:
0
- Debug level of the SCHED GEOM class. This
can be set to a number between 0 and 2 inclusive. If set to 0 minimal
debug information is printed, and if set to 2 the maximum amount of debug
information is printed.
EXIT STATUS¶
Exit status is 0 on success, and 1 if the command fails.
EXAMPLES¶
The following example shows how to create a scheduling provider for disk
/dev/ad0, and how to destroy it.
# Load the geom_sched module:
kldload geom_sched
# Load some scheduler classes used by geom_sched:
kldload gsched_rr gsched_as
# Configure device ad0 to use scheduler "rr":
geom sched insert -a rr ad0
# Now provider ad0 uses the "rr" algorithm;
# the new geom is ad0.sched.
# Remove the scheduler on the device:
geom sched destroy -v ad0.sched.
SEE ALSO¶
geom(4),
geom(8)
HISTORY¶
The
gsched utility first appeared in
FreeBSD
8.1.
AUTHORS¶
Fabio Checconi ⟨fabio@FreeBSD.org⟩
Luigi Rizzo ⟨luigi@FreeBSD.org⟩