1
0
Fork 0
Commit graph

1894 commits

Author SHA1 Message Date
Jaroslav Škarvada
d962bc4735
new release (2.22.0)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-02-16 18:36:34 +01:00
Jaroslav Škarvada
02050516e8
Merge pull request #603 from yarda/dynamic_tuning_disable
Disable dynamic tuning by default
2024-02-13 16:04:22 +01:00
Jaroslav Škarvada
2306cbdced
Disable dynamic tuning by default
Dynamic tuning is PoC implementation and it can cause many problems
especially with some networks drivers where it can interrupt network
connections and also with modern CPUs where it can worsen power
consumption by limiting CPUs from entering deeper C-states. Now, when
TuneD is going to replace power-profiles-daemon these problems can
accumulate and cause bad user experience.

RHEL disables dynamic tuning downstream for a long time, so follow it
and also disable it by default upstream. People who knows what they are
doing can still enable it.

Fixes #588

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-02-13 15:30:17 +01:00
Jaroslav Škarvada
d8ead01d5f
Merge pull request #602 from yarda/master
plugin_cpu: improved backward compat. of the pm_qos parser errors
2024-02-12 17:30:33 +01:00
Jaroslav Škarvada
b3706e251d
plugin_cpu: improved backward compat. of the pm_qos parser warnings
Also improved debug messages a bit.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-02-12 13:56:45 +01:00
Jaroslav Škarvada
ad314ee320
new release (2.22.0-rc.1)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-02-09 22:59:17 +01:00
Jaroslav Škarvada
57f4da03b3
Merge pull request #598 from superm1/superm1/fixtuned-ppdpy
Add missing install command for tuned-ppd.py
2024-02-09 21:56:23 +01:00
Jaroslav Škarvada
1d134eb954
Merge pull request #595 from adriaan42/adriaan/scheduler-ignore-irq-option
scheduler: add option for ignoring IRQs affinity
2024-02-09 21:51:45 +01:00
Jaroslav Škarvada
84ff6bd398
Merge pull request #590 from sgruszka/intel_uncore_plugin_v2
Add intel uncore plugin
2024-02-09 21:51:06 +01:00
Mario Limonciello
1883671d60 Add missing install command for tuned-ppd.py
Fixes: 3e03b8b Configure the PPD-to-TuneD daemon to work as a replacement of PPD
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Closes: https://github.com/redhat-performance/tuned/issues/597
2024-02-09 09:16:27 -06:00
Stanislaw Gruszka
ffe8d0ab8d Fixes for intel uncore plugin
- add remove parameter to set command
- minor fixes for logging messages
- remove device_module_name

Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
2024-02-09 06:50:32 -05:00
Stanislaw Gruszka
2055284ba0 Add intel uncore plugin
Add simplistic intel uncore plugin to so that uncore maximum and
minimum frequency can be set.

For example lowering uncore maximum frequency can have significant
impact on the total power consummation of SoC.

Refer to the following link to get details:
https://docs.kernel.org/admin-guide/pm/intel_uncore_frequency_scaling.html

When system with TPMI (Topology Aware Register and PM Capsule Interface)
is detected only devices configured via TPMI are used, since configuring
via deprecated (package/die) interface create conflict on new systems.

Plugin allow to configure frequency per individual uncore units, example
profile config options can look like this:

[intel_uncore_all0] # power save
type=intel_uncore
devices=uncore0*
max_freq_khz=2000000

[intel_uncore_10] # performance
type=intel_uncore
devices=uncore10
min_freq_khz=4000000

[intel_uncore] # for all others save power with little performance cost
max_freq_khz=4600000

For systems where maximum/minimum configured frequency is above/below
the system limits, values are capped to the limit. Wrong configuration
i.e. maximum frequency below minimum frequency is skipped and errors
are logged.

TODO:

- Create matching functions in (tuned/profiles/functions) to allow
  to identify cpus belongs to uncore unit as well uncore TPMI unit
  based on power domain/package/die.
- Add uncore frequency configuration to basics or specialistic profiles.

Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
2024-02-09 04:07:59 -05:00
Adriaan Schmidt
11d1f1c43b scheduler: add option for ignoring IRQs affinity
This adds the [scheduler] plugin option `irq_process`, which
controls whether the plugin performs any tuning of IRQ affinities.

Resolves: RHEL-21923

Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
2024-02-08 15:46:24 +01:00
Jaroslav Škarvada
95be4c0d68
Merge pull request #589 from jmencak/powersave-wifi
Do not report errors on systems with no wifi
2024-02-08 15:12:52 +01:00
Jaroslav Škarvada
11c6c57087
Merge pull request #579 from zacikpa/ppd-daemon
PPD-to-TuneD API translation daemon
2024-02-08 00:25:11 +01:00
Pavol Žáčik
3e03b8b6ca
Configure the PPD-to-TuneD daemon to work as a replacement of PPD
This includes the configuration of DBus, systemd, Polkit, and a new
TuneD Fedora/RHEL subpackage.
2024-02-07 22:10:21 +01:00
Pavol Žáčik
d4b72b2709
Implement the PPD-to-TuneD daemon
The daemon translates DBus API calls
to power-profiles-daemon into TuneD API calls.
2024-02-07 22:10:21 +01:00
Pavol Žáčik
4502d7abd7
Make DBusExporter reusable for other services
Do not hardcode Polkit namespace into DBusExporter,
provide it as a parameter in the constructor.
2024-02-06 16:54:54 +01:00
Jiri Mencak
14d40cfa6e Do not report errors on systems with no wifi
This change does not attempt to _wifi_set_power_level()
unless /proc/net/wireless exists.

Other changes: fix a typo.

Signed-off-by: Jiri Mencak <jmencak@users.noreply.github.com>
2024-01-24 15:29:52 +01:00
Jaroslav Škarvada
b15de12ec9
Merge pull request #587 from zacikpa/resume_latency
plugin_cpu: Support cstate settings of pm_qos_resume_latency_us
2024-01-22 17:15:36 +01:00
Jaroslav Škarvada
05d97dc632
Merge pull request #586 from champtar/rpm-ostree_kargs_skip
Skip calling rpm-ostree kargs in no-op case
2024-01-22 16:12:02 +01:00
Jaroslav Škarvada
1688d39d8f
Merge pull request #573 from zacikpa/acpi
Add a plugin for the ACPI driver
2024-01-22 12:37:30 +01:00
Pavol Žáčik
9b72d697df
Add an ACPI plugin
Resolves: RHEL-16966

At this point, the plugin supports setting a single sysfs attribute,
platform_profile.

The 3 basic ACPI platform profiles are low-power, balanced, and
performance. These are mapped to the generic powersave,
balanced, and *-performance TuneD profiles.
2024-01-22 11:29:39 +01:00
Jaroslav Škarvada
bcfbd5de11
Merge pull request #583 from zacikpa/log-expansion
Expand sysctl plugin options when reporting overrides
2024-01-18 16:00:05 +01:00
Jaroslav Škarvada
b9e20541ec
Merge pull request #581 from ryanabx/energy-performance-preference
profiles: add energy_performance_preference hints to profiles
2024-01-18 15:56:46 +01:00
Jaroslav Škarvada
8ef4f8e712
Merge pull request #541 from rabin-io/patch-1
Fix TextView to expand with window
2024-01-18 11:22:59 +01:00
Jaroslav Škarvada
e8bede2b67
Merge pull request #550 from yarda/sap-hana-kvm-guest-fix-ws
sap-hana-kvm-guest: fix whitespaces
2024-01-18 10:59:59 +01:00
Jaroslav Škarvada
f20a1355e9
Merge pull request #574 from yarda/isolated-cores-variables-comment-improve
profiles: Improve 'isolated_cores=' help text
2024-01-14 23:53:25 +01:00
Pavol Žáčik
1183333c52
plugin_cpu: Support cstate settings of pm_qos_resume_latency_us
The `force_latency` option already supports using C-state IDs/names.
This commit extends the support to the `pm_qos_resume_latency_us` option,
together with the ability to set fallback values (including the special
"n/a" value which disables all C-states).

Resolves: RHEL-21129
2024-01-11 11:15:39 +01:00
Etienne Champetier
dd5355804a Skip calling rpm-ostree kargs in no-op case
If delete and append kargs args are the same in the same order
there is no functional differences so we can safely skip
calling rpm-ostree kargs and avoid creating a new rpm-ostree
deployment.

Resolves: RHEL-20767

Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
2024-01-04 22:35:27 +02:00
Pavol Žáčik
29580c59ae
Expand sysctl plugin options when reporting overrides
Resolves: RHEL-18972
2023-12-20 17:40:27 +01:00
Ryan Brue
845c24e692 profiles: add energy_performance_preference hints to profiles
This commit adds 'energy_performance_preference' tunings for some of the premade profiles in TuneD. For more information about energy_performance_preference, see https://www.kernel.org/doc/html/v4.19/admin-guide/pm/intel_pstate.html#energy-vs-performance-hints

Signed-off-by: Ryan Brue <ryanbrue@hotmail.com>
2023-12-11 12:29:17 -06:00
Jaroslav Škarvada
954bc4624d
Merge pull request #578 from yarda/RHEL-11342
hotplug: do not report ENOENT errors on device remove
2023-12-07 14:30:25 +01:00
Jaroslav Škarvada
2f911b7e02
hotplug: do not report ENOENT errors on device remove
It requires slight internal plugin API change, thus 3rd party plugins
needs updating.

Namely the 'command_set' methods for devices were extended by the
'remove' boolean parameter which is set to 'True' on the hotplug remove
event. Then the method should silent the ENOENT errors where
appropriate, because the device interface may be removed (by
kernel/udev) before the method finishes.

Resolves: RHEL-11342

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2023-12-07 13:00:34 +01:00
Luiz Capitulino
793e6c8319 profiles: Improve 'isolated_cores=' help text
Just explain what isolated_cores= is for and recommend to only have one
isolated_cores= line to avoid wrong system configuration.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2023-11-28 11:15:47 +01:00
Jaroslav Škarvada
2652d7c29d
Merge pull request #572 from zacikpa/amd-pstate
Be explicit about amd-pstate support
2023-11-23 00:52:54 +01:00
Pavol Žáčik
f03e1d0d24
Be explicit about amd-pstate support
Resolves: RHEL-16469

Since intel_pstate and amd-pstate use the same per-CPU interface
for setting EPP hints, the current cpu plugin supports amd-pstate
out of the box.

This commit modifies current P-state related logs and variable
names to be explicit about the support for amd-pstate.

Note that while intel_pstate supports global attributes such as
`max_perf_pct`, amd-pstate does not.
2023-11-21 08:36:01 +01:00
Jaroslav Škarvada
1460175f08
Merge pull request #570 from yarda/re-fix-escape
Fixed REs escape sequences not to trigger SyntaxWarning
2023-11-15 20:55:12 +01:00
Jaroslav Škarvada
5d3b469a9d
Merge pull request #569 from zacikpa/get-instances
Add API functions to retrieve active instances and their devices
2023-11-14 16:37:03 +01:00
Jaroslav Škarvada
e3ee28297a
Fixed REs escape sequences not to trigger SyntaxWarning
Python 3.12 is more strict about correct escaping and
outputs SyntaxWarning for invalid escape sequences that
were previously silently corrected.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2023-11-14 16:32:03 +01:00
Pavol Žáčik
db6b880bb6
Add API functions to retrieve active instances and their devices
Resolves: RHEL-15137

Appropriate commands are added to tuned-adm as well.

`get_instances`: Retrieves a list of active instances of a given
plugin or all active instances.

`instance_get_devices`: Retrieves a list of devices assigned
to a given instance.
2023-11-14 15:36:12 +01:00
Jaroslav Škarvada
101cbf03bb
Merge pull request #566 from zacikpa/tuned-adm-acquire-devices
Add a tuned-adm command for moving devices between plugin instances
2023-11-09 23:08:22 +01:00
Pavol Žáčik
f58c25d0bc
Add a tuned-adm command for moving devices between plugin instances
Resolves: RHEL-15141

Until now, this was only possible by manually sending a message to
TuneD via the DBus API.
2023-11-09 19:58:34 +01:00
Jaroslav Škarvada
96819b967c
Merge pull request #555 from MarSik/fix-sysctl-path
RHEL-3707: Add support for sysctl names with slash
2023-11-08 20:58:11 +01:00
Martin Sivak
6ca3f5a93c
Add support for sysctl names with slash
Resolves: RHEL-3707

The logic for converting sysctl names to paths did not work for
sysctls like "net.ipv4.conf.bond0/355.forwarding" because it
contains a slash. According to the sysctl.d manpage, the dots
and slashed must be interchanged if the first separator is a
dot, which we assume.
2023-11-08 11:16:52 +01:00
Pavol Žáčik
114daf0397
Make all functions in plugin_sysctl.py methods of SysctlPlugin
This is necessary for the functions to use the _cmd attribute of
the class.
2023-11-08 11:06:21 +01:00
Jaroslav Škarvada
370a80a065
Merge pull request #546 from yarda/spdx
Converted SPEC file license to SPDX
2023-11-06 15:28:59 +01:00
Jaroslav Škarvada
569c6f58e1
Merge pull request #557 from kenneth-dsouza/tuned_fix
RHEL-3689: Print all arguments of failing command in err_msg
2023-10-24 09:01:36 +02:00
Kenneth D'souza
f7f9c0dedb RHEL-3689: Print all arguments of failing command in err_msg
Improve error log by printing all arguments passed to command.
This helps in troubleshooting issues where just knowing the command is
not enough, we need more details on which settings, devices and options
has caused this error.

Signed-off-by: Kenneth D'souza <kennethdsouza94@gmail.com>
2023-10-24 09:45:04 +05:30
Jaroslav Škarvada
5224682d25
Merge pull request #558 from adriaan42/style/whitespace-in-plugin_cpu
style: fix inconsistent whitespace in plugin_cpu.py
2023-10-12 14:14:06 +02:00