1
0
Fork 0
Commit graph

721 commits

Author SHA1 Message Date
Jaroslav Škarvada
f8653592e1 defirqaffinity: fixed traceback due to syntax error
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-09-01 13:03:36 +02:00
Jaroslav Škarvada
c8ac54d988 tuned-adm: fixed race condition in profile_changed DBus signal processing
If profile was quickly changed, e.g. profile loading failed and
previous profile was reloaded, multiple profile_changed DBus signals
could be received. If the signal is received before it is processed
deadlock may occure (i.e. 10 minut timeout).

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-08-29 15:25:40 +02:00
Jaroslav Škarvada
8121ea9166 tuned-adm: do not timeout if non-existent profile is requested
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-08-23 16:55:29 +02:00
Jaroslav Škarvada
bbfc2c6e54 Dropped deprecated/unneeded glib code
Resolves: rhbz#1369044

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-08-23 15:41:52 +02:00
Jaroslav Škarvada
83d573727b gui: fixed traceback when attempting to start tuned
Another forgotten DBus paths copy&paste error

Related: rhbz#1356369

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-08-09 16:03:35 +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
1f365e4f36 tuned-adm: fixed profile_info traceback
Resolves: rhbz#1362481

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-08-02 14:16:38 +02:00
Jaroslav Škarvada
e6b647641b tuned-adm: fixed traceback of 'tuned-adm list' if daemon is not running
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-21 16:34:29 +02:00
Jaroslav Škarvada
e6c6e15733 gui: fixed traceback caused by DBus paths copy&paste error
Related: rhbz#1356369

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-21 11:08:20 +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
cf8f326c44 plugin_vm: introduced transparent_hugepage alias to transparent_hugepages
Kernel uses 'transparent_hugepage', but Tuned has been so far using
'transparent_hugepages', which was confusing. The new Tuned alias is
meant to improve the situation, so Tuned users can now use both variants.

It's possible that Tuned will drop 'transparent_hugepages' sometimes
in the future.

Resolves: rhbz#1249610

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-18 16:23:21 +02:00
Jaroslav Škarvada
d1986f20f9 plugin_sysctl: reapply system sysctl after Tuned sysctl are applied
This can be globally controlled by the 'reapply_sysctl' setting in
tuned-main.conf. If enabled, system systcls (/etc/sysctl.conf,
/etc/sysctl.d, ...) are reapplied after Tuned sysctls are applied,
i.e. Tuned sysctls don't override system sysctls. It's load
system sysctl by executing 'sysctl --system'. It's now by default
enabled.

Resolves: rhbz#1302953

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-18 16:00:15 +02:00
Jaroslav Škarvada
98c9a1f537 plugin_mounts: not hardcoded lsblk path, it may differ accross distros
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-15 15:56:36 +02:00
Yixun Lan
e675ab0b4c pygobject: fix import Gtk without specify version error
Signed-off-by: Yixun Lan <dlan@gentoo.org>
2016-07-15 15:49:25 +02:00
Jaroslav Škarvada
e9c8815c0e tuned-adm: simplified no_deamon check regarding DBus
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-14 18:09:46 +02:00
Jaroslav Škarvada
b70a93dd8a tuned-adm: fixed detection of no_daemon mode
In no_daemon mode it doesn't try to query DBus, so it doesn't
output DBus error.

Resolves: rhbz#1351536

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-14 17:39:29 +02:00
Jaroslav Škarvada
209bd3291c tuned: fixed profile switching in no_daemon mode
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-14 17:31:02 +02:00
Jaroslav Škarvada
5b9cf627f1 sap-hana: explicitly setting kernel.numa_balancing = 0 for better performance
Resolves: rhbz#1355768

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-12 16:49:10 +02:00
Jaroslav Škarvada
fd40ca7c67 plugin_disk: try to workaround embedded '/' in device names
It seems that some drivers return udev names with embedded slashes '/', e.g.:
sfdsk/gdssys34

When kernel creates sysfs nodes for them it replaces '/' by '!' not to cause
ambiguity in path, i.e. the device from previous example will become:
sfdsk!gdssys34

This commit add support for such cases. It checks whether there is embedded
'/' in the device name, if yes, it tries to construct sysfs path with '!'.
It checks whether the resulting sysfs path exists, if not, it tries the
version with embedded '/'. This is safety fallback not to cause regression
in some weird cases and it may be dropped in the future.

Related: rhbz#1353142

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-12 11:57:11 +02:00
Jaroslav Škarvada
1d57d7229b plugin_base: correctly strip assignment modifiers even if not used
Resolves: rhbz#1353142

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-07-08 15:58:30 +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
6bf3afa9d3 plugin_cpu: added support for sampling_down_factor and removed cpupower
The sampling rate determines how frequently the governor checks to tune the
CPU. The sampling_down_factor is a tunable that multiplies the sampling rate
when the CPU is at its highest clock frequency thereby delaying load
evaluation and improving performance. Allowed values for
sampling_down_factor are 1 to 100000.

Usage:

[cpu]
sampling_down_factor = 1

Recommended setting for jitter reduction:
sampling_down_factor = 100

Original idea of adding support for this knob to Tuned came from
Akshay Adiga <akshay.adiga@linux.vnet.ibm.com>

This patch also removes cpupower support from Tuned. It seems
that cpupower tool changes it's output format time to time, and parsing
it in Tuned becomes harder and harder. Morever the current parser in Tuned
didn't handle the recent cpupower correctly. It's much easier to just query
sysfs than supporting multiple versions of cpupower.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-23 11:24:41 +02:00
Jaroslav Škarvada
b85e9c2180 realtime: changed assertion text to be more clear
Related: rhbz#1264128

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-17 14:16:57 +02:00
Jaroslav Škarvada
07d63a8fb0 realtime: added assertion to check whether isolated_cores contains present CPUs
Resolves: rhbz#1264128

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-17 14:12:01 +02:00
Jaroslav Škarvada
99a600b1eb functions: added assertion
This function takes three arguments:
etxt - the text to be logged if the assertion fails
var1 - first variable to compare
var2 - seconf variable to compare

The function compares 'var1' and' var2', if they don't match
it logs 'etxt' and raises exception which will abort profile
loading.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-16 18:53:24 +02:00
Jaroslav Škarvada
221c86f911 daemon: fixed traceback if there is an exception during initial profile loading
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-16 18:51:13 +02:00
Jaroslav Škarvada
f7cdad231c functions: fixed description of exec function
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-16 18:29:22 +02:00
Jaroslav Škarvada
f91892a4bf functions: added cpulist_present
This function filters the input cpulist against CPUs present on the
system. It returns unpacked list.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-16 17:39:17 +02:00
Jaroslav Škarvada
7c221de3a0 functions: fixed cpulist_pack to correctly deal with wrong arguments
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-16 17:38:18 +02:00
Jaroslav Škarvada
7ab7be15d0 functions: added cpulist_pack
Packs CPU list, i.e. 1, 2, 3 will be converted to 1-3. The cpulist_unpack is
used as a preprocessor, so it always returns optimal results. For details
about input syntax see cpulist_unpack.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-16 17:00:17 +02:00
Jaroslav Škarvada
099ae05b74 realtime: fixed kernel.sched_rt_runtime_us to be -1
kernel.sched_rt_runtime_us - a global limit on how much time realtime
scheduling may use. A run time of -1 specifies runtime == period, ie. no limit.

Resolves: rhbz#1346715

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-15 21:36:44 +02:00
Jaroslav Škarvada
2d89b31cf9 realtime-virtual-host/guest: added rcu_nocbs kernel boot parameter
This doesn't have effect on kernels build with CONFIG_RCU_NOCB_CPU_ALL=y.

Resolves: rhbz#1334479

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-15 15:56:26 +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
33a3012173 plugin_bootloader: consolidated Tuned name
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-14 16:53:00 +02:00
Jaroslav Škarvada
125b7520ae polkit: consolidated code syntax
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-14 15:37:52 +02:00
Jaroslav Škarvada
fccf3e8c50 tuned-adm: increased default timeout to 10 minutes
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-14 13:59:27 +02:00
Jaroslav Škarvada
fcd6490bbc dbus: fixed typos causing runtime tracebacks
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-11 12:31:46 +02:00
Jaroslav Škarvada
b9fac9dced polkit: fixed typo in DBusException
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-11 12:05:09 +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
ec462180af tuned-adm: Another syntax error fix
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-08 16:32:37 +02:00
Jaroslav Škarvada
cac88bfdde tuned-adm: fixed syntax error
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-08 16:24:46 +02:00
Jaroslav Škarvada
57219da6c5 Introduced some Python 3 compatibility tweaks
Merged and modified patch from Ville Skyttä <ville.skytta@iki.fi>

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-08 15:03:54 +02:00
Jaroslav Škarvada
b117e9204b tuned-adm: rewrote multithreading code to glib
The glib/dbus doesn't like multithreading which is not handled
by them, thus the code may segfault. According to
https://bugzilla.redhat.com/show_bug.cgi?id=1330127#c2
it is not supportd and dbus-glib/dbus-python are not thread safe.
This commit moves multithreading under glib and handles all
in the glib mainloop, thus it may no longer segfaults.

It also adds --timeout, -t command line parameter which may
specify timeout for the sync operations, e.g.:
 # tuned-adm --timeout 200 profile balanced
wil use 200 seconds timeout when waiting for the profile to
load.

The default timeout was increased to 90 seconds to match
systemd default timeouts.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-06-07 17:58:45 +02:00
Jaroslav Škarvada
a174592cfd verify: added ignore-missing mode
The verify command can now be run in ignore-missing mode. In this mode
missing/non-supported settings (i.e. those which current value is None)
are ignored and not treated as errors.

The tuned-adm got new verify options -i and --ignore-missing which
enables the ignore-missing mode, usage:
  tuned-adm verify -i
or:
  tuned-adm verify --ignore-missing

The DBus interface got new method 'verify_profile_ignore_missing' which
does the verification in ignore-missing mode.

Resolves: rhbz#1243807

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-04-22 18:05:16 +02:00
Jaroslav Škarvada
b556805fe3 tuned-adm: fixed backtrace and lock if tuned daemon is not running
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-04-22 16:43:59 +02:00
Jaroslav Škarvada
67f78d632e tuned-adm: synchronous profile switching
By default tuned-adm now synchronously switch profiles, i.e it waits untill
the profile is applied and then returns to the shell. It returns with
exitcode 0 if profile is correctly applied. If there is an error it uses
exitcode > 0 (currently only 1 is used) and displays error. For reverting
to old behaviour (i.e. asynchronous profile switching) when the tuned-adm
returns immediately there is an tuned-adm command line option -a (or --async).

D-Bus API was extended to allow synchronous profile switching. Now the
"profile_changed" D-Bus signal is sent when the profile is applied. The
signal contains the following data:

profile_name:string - the name of the profile which was applied
result:boolean      - status of the operation, true if OK, false on error
errstr:string       - string containing description of the error (if result is
                      false)

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-04-21 14:55:19 +02:00