1
0
Fork 0
Commit graph

1926 commits

Author SHA1 Message Date
Jaroslav Škarvada
d4399b82a0
Merge pull request #616 from superm1/superm1/battery-detection
tuned-ppd: Detect battery change events
2024-05-23 13:40:33 +02:00
Jaroslav Škarvada
40f1507138
Merge pull request #615 from zacikpa/default-profile-locations
Migrate profiles to /etc/tuned/profiles/ and /usr/lib/tuned/profiles/
2024-05-23 13:24:08 +02:00
Jaroslav Škarvada
f75d795a11
Merge pull request #596 from adriaan42/adriaan/dynamic-instance-creation
add dbus commands for dynamic creation of instances
2024-05-21 18:17:45 +02:00
Jaroslav Škarvada
98d7deaaec
Merge pull request #580 from adriaan42/adriaan/irq-tuning
Tuning of individual interrupts
2024-05-21 14:47:18 +02:00
Adriaan Schmidt
1aeb223b74 feat: add plugin_irq
This new plugin enables the tuning of individual interrupt affinities.

Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
2024-05-21 08:54:37 +02:00
Jaroslav Škarvada
362f098f51
Merge pull request #562 from gsauthof/modules-equal-value
Allow equal characters in kernel module parameter value
2024-05-16 15:15:08 +02:00
Mario Limonciello
6ef5b58ea8 tuned-ppd: Detect battery change events
power-profiles-daemon has the ability to detect battery change events
using upower and to apply different tuned settings based upon whether
plugged into power or not.

In PPD this is used specifically to set the energy performance preference
differently in the 'balanced' profile, but there is no reason that this
concept can't actually apply to all profiles.

Add support for detecting battery change events and apply a profile
specified in ppd.conf for battery in the different PPD states.
2024-04-04 07:13:06 -05:00
Pavol Žáčik
6d3aa949b3
Migrate profiles to /etc/tuned/profiles/ and /usr/lib/tuned/profiles/ 2024-04-03 11:01:10 +02:00
Jaroslav Škarvada
1fb7c803b6
Merge pull request #609 from zacikpa/custom-profile-dir
Add the option to specify custom directories with user-defined profiles
2024-04-03 10:32:05 +02:00
Pavol Žáčik
90ea23b8b3
Add an option to configure profile directories
Resolves: RHEL-26157
2024-03-28 10:56:49 +01:00
Pavol Žáčik
a916594a49
Use get_list to parse unix_socket_signal_path 2024-03-26 13:17:39 +01:00
Pavol Žáčik
55daf4aee7
Add a function to parse lists in the global configuration 2024-03-26 13:17:39 +01:00
Jaroslav Škarvada
fcb297514c
Merge pull request #614 from sabbir-47/add-pstate-function
Added intel_recommended_pstate builtin function.
2024-03-24 23:58:47 +01:00
Sabbir Hasan
236af6dd5c
Added intel_recommended_pstate builtin function.
With this builtin function it is possible to write now:

[variables]
pstate=${f:intel_recommended_pstate}

[bootloader]
cmdline_pstate=+intel_pstate=${pstate}

The builtin function will return value: disable|active based on the processor
model and pass the proper intel_pstate value to kernel command line in boot time

................................

Intel recommends to use the intel_pstate CPUFreq driver in active mode with HWP
enabled on Ice Lake and later generations processors.This feature allows dynamically
set intel_pstate based on the processor's model. Currently, users need to create a
tuned override if they want to set intel_pstate to active even for newer generation processors.
For older generation processors setting pstate to active can introduce jitters which were
historically seen around and tested with RHEL-7.4.From IceLake generation, intel has fixed these issues.

Signed-off-by: Sabbir Hasan <sahasan@redhat.com>
2024-03-21 16:11:24 +01:00
Adriaan Schmidt
cddcd23369 dbus: add commands to dynamically create/destroy instances
Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
2024-03-15 12:13:43 +01:00
Adriaan Schmidt
6c48757c2f dbus: ensure that hotplug operations only work on hotplug plugins
This adds a check to instance_acquire_devices to ensure
that the plugin actually supports the requested operation.

Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
2024-03-15 12:13:43 +01:00
Adriaan Schmidt
b10bafce48 instance: add priority as a property
Currently instance priorities are only used at startup to sort the
instance classes. To enable dynamic creation of instances, we need
to store the priorities, so new instances can be sorted accordingly.

Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
2024-03-15 12:13:43 +01:00
Jaroslav Škarvada
33a54b3c1b
Merge pull request #613 from yarda/net-monitor-no-traceback
monitor_net: fixed traceback if stats cannot be read
2024-03-13 10:04:09 +01:00
Jaroslav Škarvada
029ea87203
monitor_net: fixed traceback if stats cannot be read
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-03-12 20:06:07 +01:00
Jaroslav Škarvada
8d3a8d71b3
Merge pull request #612 from yarda/rhel-28757
plugin_net: do not read monitors if dynamic tuning is disabled
2024-03-11 18:26:54 +01:00
Jaroslav Škarvada
88b1b45649
plugin_net: do not read monitors if dynamic tuning is disabled
Resolves: RHEL-28757

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-03-11 16:51:06 +01:00
Jaroslav Škarvada
86ac977798
Merge pull request #608 from liuzhilin12/master
fix-error
2024-02-27 18:30:39 +01:00
liuzhilin
61c07b7be5 fix-error 2024-02-27 14:01:01 +08:00
Jaroslav Škarvada
15202dfa69
new release (2.22.1)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-02-22 13:23:28 +01:00
Jaroslav Škarvada
bb8b77f93f
Merge pull request #606 from sgruszka/uncore_rename
Uncore rename
2024-02-22 11:42:29 +01:00
Stanislaw Gruszka
17cc86c87d Rename plugin_intel_uncore.py to plugin_uncore.py
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
2024-02-22 02:30:28 -05:00
Stanislaw Gruszka
81580ce7d0 Rename IntelUncorePlugin to UncorePlugin
Rename the plugin name as so can be used as placeholder for Uncore
settings for other CPU vendors.

Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
2024-02-22 02:26:30 -05:00
Jaroslav Škarvada
c927e8bdf8
Merge pull request #605 from yarda/tcp_rmem_increase
network-throughput: increased net.ipv4.tcp_rmem default value
2024-02-20 17:14:21 +01:00
Jaroslav Škarvada
c5a35e8223
Merge pull request #604 from yarda/spec-cleanup
spec: cleanup, drop RHEL dynamic_tuning customization
2024-02-20 17:13:47 +01:00
Jaroslav Škarvada
03369da748
network-throughput: increased net.ipv4.tcp_rmem default value
Resolves: RHEL-25847

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-02-19 13:44:41 +01:00
Jaroslav Škarvada
5f5dcd1319
spec: cleanup, drop RHEL dynamic_tuning customization
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-02-16 19:26:17 +01:00
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