1
0
Fork 0
Commit graph

99 commits

Author SHA1 Message Date
Jaroslav Škarvada
de880346fa
new release (2.8.0)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-26 16:55:04 +02:00
Jaroslav Škarvada
ac78f90c77
scheduler: added support for cores isolation
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>
2017-04-07 17:46:32 +02:00
Jaroslav Škarvada
35e803ae0c
spec: relaxed tight profile dependencies
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>
2017-03-30 17:45:28 +02:00
Jaroslav Škarvada
a287f6509a
nfv: fixed building of tuned-profiles-nfv package
The tuned-profiles-nfv is kept for backward compatibility.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 12:08:36 +02:00
Jaroslav Škarvada
1026545936 Split tuned-profiles-nfv to host and guest
Resolves: rhbz#1413111

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 11:52:23 +02:00
Jaroslav Škarvada
b088337d3d spec: muted error if there is no selinux support
Resolves: rhbz#1404214

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-01-25 09:55:57 +01:00
Jaroslav Škarvada
db6947da2f profiles: added new profile cpu-partitioning
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>
2016-10-07 11:56:57 +02:00
Jaroslav Škarvada
bfc6214888 plugins: added systemd plugin
This plugin allows setting CPUAffinity in /etc/systemd/system.conf.

Related: rhbz#1359956

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-10-06 16:49:42 +02:00
Jaroslav Škarvada
4f360200d3 new release (2.7.1)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-08-02 14:35:19 +02:00
Jaroslav Škarvada
3c15b749c7 spec: minor changelog cleanup
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-19 15:30:13 +02:00
Jaroslav Škarvada
99505cf781 new release (2.7.0)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-19 14:20:45 +02:00
Jaroslav Škarvada
6793c2abff plugins: added modules plugin
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>
2016-07-04 19:03:51 +02:00
Jaroslav Škarvada
ddeadd34eb spec: fixed conditional support for grub2 to work with selinux
Resolves: rhbz#1351937

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-01 19:01:30 +02:00
Jaroslav Škarvada
cb6cf2b70b Added polkit and dbus to the requirements
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-15 13:24:14 +02:00
Jaroslav Škarvada
2a593a46e9 polkit: added the policy to correct package and added fallback method
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>
2016-06-10 18:07:00 +02:00
Jaroslav Škarvada
68bb447a0f Implemented polkit authorization
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>
2016-06-10 11:57:33 +02:00
Jaroslav Škarvada
e86e1be083 polkit: consolidated polkit action IDs to match DBus names
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-08 17:36:00 +02:00
Jaroslav Škarvada
8c07abca27 Added tuned icon and desktop file for GUI
Icon provided by Mariia Leonova <mleonova@redhat.com>.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-03-22 17:11:42 +01:00
Jaroslav Škarvada
3dd36e257b spec: fixed typo in comment
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-01-13 14:12:25 +01:00
Jaroslav Škarvada
ca5ad59d3f spec: ghosted /etc/modprobe.d/kvm.rt.tuned.conf
Related: rhbz#1292117

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-01-11 14:41:42 +01:00
Jaroslav Škarvada
7e34a4fd27 new release (2.6.0)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-01-05 16:08:31 +01:00
Jaroslav Škarvada
1f1d7e3235 spec: correctly remove tuned footprint from /etc/default/grub
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>
2015-10-06 15:53:24 +02:00
Jaroslav Škarvada
33f6bd10e4 spec: fixed post scriptlet to work without grub
Resolves: rhbz#1265654

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-09-24 11:06:32 +02:00
Jaroslav Škarvada
bd0a87af0f spec: doc packaging fixes for rpm-4.12.90
Minor cosmetic changes.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-12 12:21:11 +02:00
Jaroslav Škarvada
41e2b9af34 new release (2.5.1)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-04 09:10:48 +02:00
Jaroslav Škarvada
0da8309a05 spec: do not package realtime-virtual-guest/host profiles to base tuned
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-31 11:39:43 +02:00
Jaroslav Škarvada
37e66ccab1 spec: added tuna as requirement of realtime and nfv
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-31 11:35:51 +02:00
Jaroslav Škarvada
bd6db76cd1 profiles-nfv: fixed dependency and paths to tscdeadline_latency.flat
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-24 11:09:35 +02:00
Jaroslav Škarvada
50a5d218af spec: fixed docdir for fedora
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-06 00:16:40 +02:00
Jaroslav Škarvada
f0983b9bfc new release (2.5.0)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-05 23:04:45 +02:00
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
b01eaf27d1 profiles: added realtime-virtual-guest/host profiles
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>
2015-07-01 16:58:06 +02:00
Jaroslav Škarvada
c53b8173c3 profiles: oracle profile delivered in tuned-profiles-oracle subpackage
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-06-26 14:30:27 +02:00
Jaroslav Škarvada
740fab40ec realtime: moved variables to /etc/tuned/realtime-variables.conf
And some minor tweaks.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-06-22 17:32:35 +02:00
Jaroslav Škarvada
46f1968bce profiles: added realtime
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-06-18 17:21:09 +02:00
Jaroslav Škarvada
957922d3d7 Makefile: add git short hash suffix to mock devel builds
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-06-08 16:42:10 +02:00
Jaroslav Škarvada
b1da643ad5 Makefile: added support for nightly development builds
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>
2015-05-29 17:18:49 +02:00
Jaroslav Škarvada
fb96ce1d44 spec: add git suffix to release number
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>
2015-05-28 17:21:50 +02:00
Jaroslav Škarvada
0bfeee763a plugin_bootloader: do not add tuned boot command line parameters to rescue kernels
Accomplished by switch from GRUB_CMDLINE_LINUX to GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-05-21 13:47:04 +02:00
Jaroslav Škarvada
6c904d6b89 spec: added conditionals for versioned DOCDIR
This is to support RHEL <= 7.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-05-18 19:25:40 +02:00
Jaroslav Škarvada
15dc0865f0 Fixed bash completion
Resolves: rhbz#1207668

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-04-01 18:13:10 +02:00
Jaroslav Škarvada
875087af9b new release (2.4.1)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-10-17 00:57:34 +02:00
Jaroslav Škarvada
f9486bc08d plugin_bootloader: added check for grub2
The plugin_bootloader is automatically disabled if the grub2 is not found.

Resolves: rhbz#1150047

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-10-10 16:32:43 +02:00
Jaroslav Škarvada
8210b0d40c new release (2.4.0)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-10-01 18:44:30 +02:00
Jaroslav Škarvada
34a9bc42f5 Added tuned-gui
Main implementation was done by Marek Staňa.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-10-01 16:16:45 +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
Jaroslav Škarvada
5b8a2d2e8e plugins: added bootloader plugin
This plugin can be used to add parameters to kernel (boot/dracut)
command line. Currently only grub2 bootloader is used and reboot
is required to apply the tunings. The tuning can be only unloaded
by profile change followed by reboot.

It patches grub.cfg at runtime and installs /etc/grub.d/00_tuned
grub2 template. So it's possible to regenerate grub.cfg by
grub2-mkconfig and the tuning persists.

It also patches /etc/default/grub and adds tuned_params grub2 variable
to GRUB_CMDLINE_LINUX. This is probably the only way how to get
variables into kernel command line in grub.cfg. Nothing else is added to
/etc/default and it's patched if the plugin is used for the first
time. It's re-patched on plugin initialization only if the tuned_params
variable is missing.

On subsequent invocation only the tuned_params grub2 variable and
grub.cfg are changed.

Example of use:

[bootloader]
cmdline=quiet

This adds "quiet" parameter to the kernel boot command line (reboot
is required).

EFI is also supported. By default it autodetects redhat and fedora
directories (in this order). Nothing else is touched. If you have
different EFI system and your grub.cfg location is not auto-detected
or your grub.cfg is located on different place you can specify
the grub.cfg location manually:

[bootloader]
grub2_cfg_file=CUSTOM_PATH/grub.cfg
cmdline=quiet

This has precedence over auto-detection. This is used for runtime
patching. In case it is not set correctly, the grub.cfg patching
will not work, but you can still regenerate the config by hand by
grub2-mkconfig.

Resolves: rhbz#1044111

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-09-29 16:33:56 +02:00
Jaroslav Škarvada
d7fbd7a056 spec: removed active_profile from RPM verification
Resolves: rhbz#1104126

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-09-24 19:35:39 +02:00
Jaroslav Škarvada
7b4c1e330d spec: added missing hdparm dependency
Resolves: rhbz#1144858

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-09-23 12:22:13 +02:00
Jaroslav Škarvada
c07691cdfb man: structured profiles manual pages according to sub-packages
In this way only the installed profiles are described in the installed
manual pages. I.e. base profiles are now described in the tuned-profiles.7
manual page and profiles for the Project Atomic are now described
in the tuned-profiles-atomic.7 manual page. Simalarly for the SAP and
compat profiles.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2014-09-23 12:10:29 +02:00