Plugin scheduler now can do cores isolation on its own, Tuna is
not needed for it, e.g.:
[scheduler]
isolated_cores=2-4
ps_blacklist=.*pmd.*;.*PMD.*;^DPDK;.*qemu-kvm.*
It will isolate cores 2-4, it will ignore processes which matched
ps_blacklist regexes. Multiple regexes can be separated by ';'.
Quoted semicolon, i.e. '\;' is taken literally.
It also supports 'ps_whitelist' which is by default set to '.*'.
It takes all processes which matches ps_whitelist than it removes
those which matches ps_blacklist and move them out of the
isolated_cores. When the profile is unloaded it allows all matching
processes to run on all cores.
It changes processes affinities, threads affinities, IRQs affinities
and it sets default_smp_affinity for IRQs.
Also cpu-partitioning profile has been switched from Tuna to this
mechanism.
Resolves: rhbz#1403309
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
There is no need for profiles to requires exact NVR of the engine,
or other profiles, relaxed it to NV (i.e. only name, version requirement,
but no release requirement).
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
The profile is delivered in the new tuned-profiles-cpu-partitioning subpackage.
Also moved defirqaffinity.py to the base package to allow other profiles
to use it.
Resolves: rhbz#1359956
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
This plugin can set parameters to kernel modules. It generates
/etc/modprobe.d/tuned.conf file.
Usage:
[modules]
MODULE=OPTION1=VALUE1 OPTION2=VALUE2...
E.g:
[modules]
netrom=nr_ndevs=2
This sets module 'netrom' to have 'nr_ndevs' option set to '2'. The module
can be also forced to load/reload by using special '+r' prefix, e.g.:
[modules]
netrom=+r nr_ndevs=2
Will also cause Tuned to try to remove 'netrom' module (if loaded) and
try to (re)insert it with the specified parameters. The '+r' can be followed
by an optional comma (','), i.e.:
'+r,' for better readability.
By using '+r' the module will be loaded even if not needed.
Resolves: rhbz#1249618
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
If there is problem with polkit, it tries to get the UID of the
sender process and in case it's root authorize the request.
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
Dropped dbus at_console policy and implemented polkit authorization.
By the default policy the query actions are allowed for all users, actions
which do modification to the system settings or Tuned state are by default
allowed only for active users that have console, others need admin
authorization.
Resolves: rhbz#1095142
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
The bootloader plugin adds there GRUB_CMDLINE_LINUX_DEFAULT tuned setting
which should be removed upon Tuned uninstallation. This commit fixes
the regex used in %postun to correctly remove the Tuned footprint from
there.
Resolves: rhbz#1268845
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
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>
Profiles shipped in tuned-profiles-nfv subpackage. The content was provided
by Jeremy Eder <jeder@redhat.com> and Clark Williams <williams@redhat.com>.
Resolves: rhbz#1228803
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
It is supported by 'nightly' makefile target. It creates
snapshot from the GIT HEAD, makes mockbuild,
creates repo and uploads result on the fedorapeople.
Also fixed makefile to support parallel builds, added
couple of hopefully useful targets, implemented local
RPM build target 'rpm'.
Other targets (e.g. 'srpm') can be also used to work
with snapshots. It is controlled by BUILD makefile
varible. If set to 'release' normal release is done.
If set to anything else (e.g. 'snapshot') snapshot
is done.
There is also support for GIT snapshots in the upstream
provided SPEC file. Snapshot build is done if
built with '--with snapshot', normal (release) build
is done otherwise.
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
By default build as development release with build date and git suffix
added to the release number. Build without this suffix if built
--with release
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
Accomplished by switch from GRUB_CMDLINE_LINUX to GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
The plugin_bootloader is automatically disabled if the grub2 is not found.
Resolves: rhbz#1150047
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
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>