1
0
Fork 0
Commit graph

682 commits

Author SHA1 Message Date
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
Luiz Capitulino
32ef5d8db0 realtime: disable timer migration
It was found during code review that the kernel always try to
migrate timers away from idle CPUs to busy CPUs. Real-time
CPUs running dpdk polling threads for example, are busy so
they are a great candidate to receive timers from idle CPUs
(see get_nohz_timer_target() in the kernel sources).

It is not clear how this problem can affect real-time
applications and KVM-RT. However, for real-time and
high-performance the best thing is for a timer to always
fire in the CPU where it was created.

Resolves: rhbz#1323283

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2016-04-04 10:36:53 +02:00
Jaroslav Škarvada
52f2cc4ad7 atomic: increase number of inotify watches
Resolves: rhbz#1322001

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-03-29 23:48:49 +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
Luiz Capitulino
de021288a5 realtime-virtual-host: don't delete modprobe file on start()
We create the /etc/modprobe.d/kvm.rt.tuned.conf file at
every boot. However, there's nothing that guarantees that
the kvm module will be loaded after tuned. Indeed, it's
possible to reproduce a race where the kvm module is loaded
before tuned. When this happens, the kvm module will be
loaded with incorrect parameters as the kvm.rt.tuned.conf
file doesn't exist.

The solution to this problem is to create the kvm.rt.tuned.conf
file only if it doesn't exist and delete it when changing
profiles.

Resolves: rhbz#1292117

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>

 profiles/realtime-virtual-host/script.sh | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)
2016-01-11 11:13:08 +01:00
Jaroslav Škarvada
671cd73a57 plugin_script: stop action gets hint why it is called
Upon stop action the script is called the following way:
  script.sh stop [$HINT]

$HINT is not used if the stop is result of tuned
shutdown. $HINT is set to "profile_switch" if the stop is
result of profile switch.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-01-08 18:29:52 +01:00
Jaroslav Škarvada
a2b0741eac pm_qos: fixed exception if PM_QoS is not available
Resolves: rhbz#1296137

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-01-06 14:14:19 +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
c24e2ea0ca Added support for 'summary' and 'description' of profiles
Added new tuned-adm functionality 'profile_info'. It has optional parameter
'profile_name'. If called without parameter, active profile is used.
It outputs name of the profile it is querying, profile summary, and profile
description. If there is no profile summary or description available it
outputs empty string(s).

Extended tuned-adm 'list' functionality. It now displays profile summary
in the list (if available).

Added summary to profiles.

Extended D-Bus API to support the new feature and for better Cockpit support:
 - Added 'profile_info' method. It gets profile_name argument and it queries
   the requested profile for information. If profile_name is empty string it
   queries the active/selected profile. It returns tuple of the following
   format (status, profile_name, summary, description), where status is
   boolean. If it is False, the query mechanism failed and the other fields
   don't contain valid data
 - Added 'profiles2' method. It's extension of 'profiles' method. It returns
   list of tuples. Tuples have following format:
   (profile_name, profile_summary)

Related: rhbz#1228356
Fixes: #46

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-01-05 11:28:25 +01:00
Jaroslav Škarvada
d49469f711 plugin_sysctl: pass verification even if the option doesn't exist
In case sysctl option doesn't exist (e.g. is unsupported on the
system), the verification now passes.

Related: rhbz#1252153

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-11-16 18:22:28 +01:00
Jaroslav Škarvada
cb826c1e38 profiles: fixed lapic_timer_adv_ns cache
Patch provided by Luiz Capitulino <lcapitulino@redhat.com>

Resolves: rhbz#1259452

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-11-16 17:27:18 +01:00
Jaroslav Škarvada
9aeb585a63 profiles: Added nohz_full and nohz=on to realtime guest/host profiles
Resolves: rhbz#1274445

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-10-29 16:13:50 +01:00
Jaroslav Škarvada
796b4f4fd4 profiles: removed nohz_full from the realtime profile
Resolves: rhbz#1274486

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-10-29 15:23:46 +01:00
Jaroslav Škarvada
b26327d572 gui: fixed creation of new profile
Resolves: rhbz#1274609

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-10-27 17:56:09 +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
5a5986bd8b realtime: set unboud workqueues cpumask
The latest RHEL and RT kernels got support for setting the cpumask of unbound
workqueues in sysfs (https://bugzilla.redhat.com/show_bug.cgi?id=1176155).

This patch sets the unbound workqueues cpumask to the list of non-isolated
cores for the real-time profiles.

Patch from Luiz Capitulino <lcapitulino@redhat.com>

Resolves: rhbz#1259043

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-10-06 11:49:56 +02:00
Jaroslav Škarvada
239fb78992 functions: fixed restore_logs_syncing to preserve SELinux context on rsyslog.conf
Resolves: rhbz#1268901

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-10-06 11:42:46 +02:00
Marcelo Tosatti
874762b4c0 tuned-profiles-nfv: fix find-lapictscdeadline-optimal.sh for CPUS where ns > 6500
If the result of lapic-tsc-deadline kvm-unit-test continues
to decrease as ns increases, then use highest ns value.

Reported and tested by Luiz and Hai.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Resolves: rhbz#1267284
2015-10-02 12:03:31 +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
7b4596ba21 tuned-adm: fixed restart attempt if tuned is not running
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-31 11:19:41 +02:00
Jaroslav Škarvada
b6ad363186 plugins: added scsi_host plugin
This plugin handles SCSI hosts. On Linux these are also used for SATA.
Currently it only supports ALPM setting, e.g.:

[scsi_host]
devices=host0
alpm=medium_power

ALPM is set per SATA/SCSI host. If SCSI host doesn't support ALPM
(it is SATA/AHCI specific), it is skipped and message is logged into
Tuned log with 'info' loglevel.

Concurrently the ALPM settings were removed from the 'disk' plugin.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-24 16:16:28 +02:00
Jaroslav Škarvada
04c5222abc functions: fixed sysfs save to work with options
E.g.:
$ cat /sys/block/sda/queue/scheduler
noop [deadline] cfq

The 'save_sys' function needs to save 'deadline', not 'noop [deadline] cfq'.

Resolves: rhbz#1251507

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-21 16:33:19 +02:00
Jaroslav Škarvada
d7cdf56108 plugin_cpu: save and restore only changed intel pstate attributes
There is no need to save and restore intel pstate attributes which aren't
changed by tuned profile.

Resolves: rhbz#1252156

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-21 14:38:17 +02:00
Jaroslav Škarvada
0609b11c72 libexec: added shebang to defirqaffinity.py
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-21 12:09:35 +02:00
Jaroslav Škarvada
7d1febccaa libexec: fixed listdir and isdir in defirqaffinity.py
Resolves: rhbz#1252160

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-20 15:35:17 +02:00
Jaroslav Škarvada
5a74141d79 tuned-adm: added log file location hint to verify command output
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-20 14:38:34 +02:00
Jaroslav Škarvada
efac9c470b plugin_sysctl: unquoting sysctl values
Unquoting first and last quotation mark in value, i.e. converting:
OPTION="VALUE" to OPTION=VALUE

Also added unquoting to profile verification, unquoting both
(current and requested) values.

Resolves: rhbz#1254538

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-19 14:09:56 +02:00
Jaroslav Škarvada
90e9a93c73 plugin_cpu: do not show error if cpupower or x86_energy_perf_policy are missing
Now only warning is displayed similarly to the hdparm behavior.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-08-17 15:09:08 +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
b57f5a1652 recommend: profile can be specified multiple times by using suffix
It needs to use unique ',ANYSTRING' suffix, everything after the last ','
will be stripped by the parser, e.g.:

[balanced,1]
/FILE1=RE1

[balanced,2]
/FILE2=RE2

This will set 'balanced' profile in case there is FILE1 matching RE1 or
FILE2 matching RE2 or both. There is no need to use the suffix
if the profile is specified only once.

Also improved description in the recommend.conf.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-31 18:30:36 +02:00
Jaroslav Škarvada
5c80150f0c credits: fixed typo
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-31 16:33:27 +02:00
Jaroslav Škarvada
5024f00ef5 plugin_scheduler: work with nohz_full
Incorporated fix from Arnaldo Carvalho de Melo <acme@redhat.com>.

Updated credits and made them UTF-8.

Resolves: rhbz#1247184

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-31 16:25:14 +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
8fad3e1016 plugin_bootloader: various improvements
- unquote '"' from the cmdline, i.e. the following will give same results:
[bootloader]
cmdline="vga=ask"

[bootloader]
cmdline=vga=ask

no more double quotes in grub.cfg:
set tuned_params=""vga=ask""

- fixed /etc/default/grub, so grub2-mkconfig no longer introduces
space before $tuned_params added to kernel in grub.cfg

- added support for 'linux' keyword (on aarch64)

- minor improvements regarding newlines

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-24 18:41:39 +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
e32bd6bdc7 function_exec: fixed copy and paste error
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-07-14 16:52:40 +02:00