1
0
Fork 0
Commit graph

5 commits

Author SHA1 Message Date
Jaroslav Škarvada
ff3f8aedd7 plugin_scheduler: added support for runtime tuning through perf
It can now tune newly created processes. This functionality
is by default on and can be disabled in tuned profile by setting:

[scheduler]
runtime = 0

This is temporaly workaround. In the future this will be handled
by per-plugin dynamic_tuning configuration and not by "runtime"
option.

resolves: rhbz#1148546

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-04 11:23:32 +02:00
Jaroslav Škarvada
6a258aed9d plugin_scheduler: added support for variables
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-06-12 16:21:09 +02:00
Jaroslav Škarvada
38a0676ff9 plugin_scheduler: code cleanup
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-10-16 23:41:34 +02:00
Jaroslav Škarvada
bf3d23312e plugin_scheduler: do not unapply tunings for non-exitent processes
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-10-01 16:31:11 +02:00
Jaroslav Škarvada
bf42cb9ba3 plugins: added scheduler plugin
Currently it is substitution for the rtctl tool,
but there are small differences in the syntax.

Format for the rules is:

group.GROUPNAME=RULE_PRIO:SCHED:PRIO:AFFINITY:REGEX

where RULE_PRIO defines tuned priority of the
rule. Rules are sorted according to priority.
This is needed for inheritence to be able
to reorder previously defined rule. For same
RULE_PRIO, rules should be processed in the order
there were defined (but this is Python interpreter
dependant). To disable inherited rule for GROUPNAME
use:

group.GROUPNAME=

SCHED must be one of:
 'f' for FIFO,
 'b' for batch,
 'r' for round robin,
 'o' for other,
 '*' means not to change.

AFFINITY is a hex number, see taskset(1) for details
about number of CPUs. The '*' means not to change.

REGEX is Python regex. It must match against output of

  ps -eo cmd

Any given process name may match more than one group.
Default priority and scheduling policy are taken from
the last matching rege.

You need to write 'group.' prefix before your
group name. This is because there may be added
other parameters to the plugin later.

Example of usage:

[scheduler]
group.kthreads=0:*:1:*:\[.*\]$
group.watchdog=0:f:99:*:\[watchdog.*\]

Resolves: rhbz#1100826

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-10-01 00:41:03 +02:00