KSM is enabled by default when the qemu-kvm-common-rhev package is
installed. We don't want KSM to run in KVM-RT nor cpu-partitioning
hosts, as it can cause spikes or packet drops.
This series disables KSM in those profiles when they are activated.
Likewise, we re-enable KSM when the profile is de-activated in
case it's enabled by default in systemd.
Luiz Capitulino (3):
profiles: functions: add functions to disable/enable KSM
realtime-virtual-host: disable KSM
cpu-partitioning: disable KSM
profiles/cpu-partitioning/script.sh | 2 ++
profiles/functions | 37 ++++++++++++++++++++++++++++++++
profiles/realtime-virtual-host/script.sh | 3 +++
3 files changed, 42 insertions(+)
--
2.9.5
Return-Path: lcapitulino@redhat.com
Received: from zmta04.collab.prod.int.phx2.redhat.com (LHLO
zmta04.collab.prod.int.phx2.redhat.com) (10.5.81.11) by
zmail22.collab.prod.int.phx2.redhat.com with LMTP; Tue, 3 Oct 2017 15:54:02
-0400 (EDT)
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
by zmta04.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 46F2FD0310
for <jskarvad@mail.corp.redhat.com>; Tue, 3 Oct 2017 15:54:02 -0400 (EDT)
Received: by smtp.corp.redhat.com (Postfix)
id 3FBC860F82; Tue, 3 Oct 2017 19:54:02 +0000 (UTC)
Delivered-To: jskarvad@redhat.com
Received: from localhost (ovpn-117-159.phx2.redhat.com [10.3.117.159])
by smtp.corp.redhat.com (Postfix) with ESMTP id 3A51A60F81;
Tue, 3 Oct 2017 19:53:59 +0000 (UTC)
From: Luiz Capitulino <lcapitulino@redhat.com>
To: jskarvad@redhat.com
Cc: kvm-rt@redhat.com
Subject: [PATCH 1/3] profiles: functions: add functions to disable/enable KSM
Date: Tue, 3 Oct 2017 15:53:50 -0400
Message-Id: <20171003195352.22910-2-lcapitulino@redhat.com>
In-Reply-To: <20171003195352.22910-1-lcapitulino@redhat.com>
References: <20171003195352.22910-1-lcapitulino@redhat.com>
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12
They will be used by the next commits.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
The net plugin can now be given the boolean 'dynamic'
option, which is used to determine, whether dynamic tuning
should be enabled.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
The 'tuned-adm profile' command can now (once again) be given multiple
profile names. In case of conflicting settings in the profiles, the
setting from the last profile specified is used.
E.g.:
tuned-adm profile powersave balanced
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
We should register to dbus after a profile is fully applied when
starting up. This makes systemd services depending on some tunings
performed by tuned (with After=tuned.service in their service file)
to start only after all tunings were applied.
Resolves: https://github.com/redhat-performance/tuned/issues/23
Resolves: rhbz#1443142
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Prefix DPM states with 'dpm-' to prevent future name collisions.
Also, change the state in powersave profiles to 'battery' - there's
no such DPM state as powersave.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Use net plugin to disable large receive offload in sap-hana-vmware profile.
This also fixes rollback of the setting - previously, after unapplying
the profile, LRO would always be set to 'on', irrespectively of the
original setting.
The network interfaces which should have LRO disabled must be listed
in /etc/tuned/sap-hana-vmware-variables.conf, e.g. like this:
sap_hana_vmware_nic=eth0
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Now, in addition to the already supported Radeon power methods, it also
supports:
radeon_powersave=DPM
where DPM can be 'battery', 'balanced', or 'performance'.
It also supports fallback, so one can write:
radeon_powersave=balanced, auto
where it tries 'balanced' DPM profile and if it fails or is not
supported it fallbacks to the non DPM 'auto' profile.
As delimiters colon, semilocon, comma or whitespace can be used.
It also switched upstream profiles to prefer DPM.
https://github.com/redhat-performance/tuned/pull/32
Related: rhbz#1417659
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
The profile selection mode is now written to /etc/tuned/profile_mode
instead of the second line of /etc/tuned/active_profile.
Here are the rules for interpreting the contents of the files. If
either of the files does not exist, it is treated the same as if
it were empty.
If active_profile is empty:
If profile_mode contains 'manual':
Manual mode, no profile will be used, tuned will run without a profile
else if profile_mode is empty or contains 'auto':
Automatic mode, recommended profile is used
else:
Error
else:
If profile_mode contains 'manual', or is empty (for compatibility reasons):
Manual mode, the profile in active_profile will be used
else if profile_mode contains 'auto':
Automatic mode, recommended profile is used
else:
Error
Resolves: https://github.com/redhat-performance/tuned/issues/64
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Previously if the profile was applied before all methods and
signals were exported on DBus, the daemon thread (_thread_code()
in daemon.py) could crash after attempting to emit a signal on DBus
announcing that a profile was applied.
A regular user is unlikely to run into the race in practice, but it
frequently happens when applying an empty profile for testing purposes.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
'systemctl is-system-running' is not enough to reliably check
if the system is shutting down. If the command is run when the system
is still starting up, it will report the state as 'starting', even if
the shutdown target is queued:
5463fa0a88/src/core/manager.c (L3457-L3465)
On the other hand, 'systemctl list-jobs' should always show
shutdown.target or reboot.target etc., when the system is shutting
down, as long as DBus is still running.
Resolves: rhbz#1475571
Resolves: rhbz#1488369
Resolves: rhbz#1488517
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Increase timeout for DBus method calls in tuned-adm to 40 seconds.
This is meant to prevent simultaneous timeouts in tuned-adm and
the tuned daemon.
Previously it could happen, that e.g.
tuned-adm profile <name>
was executed, issuing a DBus call to the tuned daemon,
then in response the tuned daemon would issue a DBus
call to Polkit in order to authorize the profile switch request, and
this call would time out. The call to Polkit would time out after the
default DBus timeout of 25 seconds and simultaneously the tuned-adm's
call to tuned daemon would also time out, because the same default
timeout was used. After that, if the fallback authorization method
in tuned daemon succeeded, the daemon would start applying the new
profile, and at the same time tuned-adm would use the fallback method,
which is restarting tuned (systemctl restart tuned). This could
potentially lead to all sorts of race conditions. Let's avoid that
by increasing the timeout in tuned-adm, so that tuned has time
to apply a profile after a failed Polkit call.
Related: rhbz#1475571
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Debug messages are now logged when setting some task's parameter
fails because the task vanished. Previously errors were logged.
Log messages (for kernel threads and zombie processes) or warnings
(otherwise) are now logged when setting a task's affinity fails because
its affinity is fixed. Previously either errors or nothing was logged,
depending on the specific case.
Resolves: rhbz#1474961
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Take the ignore_missing parameter into account in @command_get methods
so that error messages are not logged for missing files.
In some @command_get methods the ignore_missing parameter is not used,
because e.g. it is not applicable or the parameter is handled elsewhere
in the code.
Resolves: rhbz#1451435
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Don't log error in commands.execute() if MSR_IA32_ENERGY_PERF_BIAS
is not supported. A message with level WARN is already logged
afterwards:
WARNING tuned.plugins.plugin_cpu: your CPU doesn't support
MSR_IA32_ENERGY_PERF_BIAS, ignoring CPU energy performance bias
Resolves: rhbz#1443182
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
The udev monitor buffer size was increased to 1MB. Also, a new
configuration option 'udev_buffer_size' can be specified in
/etc/tuned/tuned-main.conf to set a different buffer size.
Values such as '204800', '200KB', '200 KB' (with space) or '1 MB'
are recognized. If no unit is specified, the number is taken as
the number of bytes.
Resolves: rhbz#1442306
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Configuration files for the recommend functionality can now be
added to the /etc/tuned/recommend.d and /usr/lib/tuned/recommend.d
directories. The format is the same as in /etc/tuned/recommend.conf.
The file /etc/tuned/recommend.conf takes precedence over the files
in the recommend.d directories. The files in the /etc/tuned/recommend.d
directory are merged with those in /usr/lib/tuned/recommend.d
(in case of name conflict the file from /etc/tuned/recommend.d is used)
and are evaluated in alphabetical order. The first file containing
a matching entry is used.
The /etc/tuned/recommend.d directory is meant mainly for use by
administrators. Third-party packages should install recommend
configuration files in /usr/lib/tuned/recommend.d.
Also, the file /usr/lib/tuned/recommend.conf was moved to
/usr/lib/tuned/recommend.d/50-tuned-recommend.conf.
Resolves: rhbz#1459146
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>