1
0
Fork 0
Commit graph

311 commits

Author SHA1 Message Date
Jaroslav Škarvada
5f1ab33181
cpu-partitioning: drop unused variable
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2026-03-26 23:11:19 +01:00
Jiri Mencak
dd59da630f Ignore errors from dracut
When tuned is running in containerized environments such as OpenShift, dracut
is not being used.  Ignore errors when trying to run dracut as it might not
exist on the system.  Therefore, do not report ERRORs when running a custom
profile script.  This will prevent Tuned profiles in OpenShift going degraded.

Resolves: OCPBUGS-79018

Signed-off-by: Jiri Mencak <jmencak@users.noreply.github.com>
2026-03-23 15:05:37 +01:00
Jaroslav Škarvada
a8a9d38687 systemd: used drop-ins for configuration
Resolves: RHEL-97580

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2026-03-19 17:44:40 +01:00
Jaroslav Škarvada
04b0259365
Merge pull request #822 from yarda/sap-hana-latency-fix
sap-hana: force latency to 70 us, not to C-states
2026-02-05 15:17:49 +01:00
Jaroslav Škarvada
8eeeb45abe
Merge pull request #811 from nmraz/performance-boost-value
profiles: Set boost=1 in *-performance profiles
2026-02-05 14:56:42 +01:00
Jaroslav Škarvada
843f44e234
Merge pull request #809 from gheffern/openshift_tcp_tuning
feat(openshift): Optimize TCP settings for high throughput and low latency
2026-02-05 14:52:55 +01:00
Jaroslav Škarvada
90d0aee4d2
sap-hana: force latency to 70 us, not to C-states
Resolves: RHEL-142285
Resolves: #808

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2026-02-02 16:59:27 +01:00
Noam Raz
79a120e17e profiles: Set boost=1 in *-performance profiles
Commit 068928e ("Add support for controlling amd-pstate core
performance boost") started setting the newly-introduced `boost`
parameter in the balanced and powersave profiles, but forgot to do the
same in the performance profiles. The net result was that transitioning
directly from the powersave profile to a performance profile would leave
boosting disabled.

Fix this by setting boost=1 explictly in all performance-oriented
profiles (i.e., those with a min_perf_pct of 100).

Fixes: 068928e ("Add support for controlling amd-pstate core performance boost")
2025-11-13 21:17:36 +02:00
Graham Heffern
7a1a288e85 feat(openshift): Optimize TCP settings for high throughput and low latency
Apply specific kernel network tuning parameters to the OpenShift profile
(/profiles/openshift/tuned.conf) to support high bandwidth-delay product links.

The following TCP settings are added:
net.ipv4.tcp_notsent_lowat=131072: Sets tcp_notsent_lowat to a value intended to balance throughput and latency while limiting total socket memory usage.
net.ipv4.tcp_slow_start_after_idle=0: Disables slow start after a connection has been idle, allowing immediate maximum throughput upon resuming data transfer.
net.ipv4.tcp_rmem="4096 131072 16777216": Increases the maximum TCP receive buffer size to improve performance on high-bandwidth-delay product connections.
net.ipv4.tcp_wmem="4096 16384 16777216": Increases the maximum TCP send buffer size for similar reasons.

These changes are based on work done by Cloudflare for improving TCP
performance on high bandwidth-delay product links but are more conservative in adjusting rmem and wmem

Reference: https://blog.cloudflare.com/optimizing-tcp-for-high-throughput-and-low-latency/

Signed-off-by: Graham Heffern <gheffern@gmail.com>
2025-11-08 09:46:25 -06:00
Jaroslav Škarvada
2145e1984b
cpu-partitioning: autodetect dracut hook directory, systemd workaround
Wrong hook directory can make the machine unbootable:
https://issues.redhat.com/browse/RHEL-119889

Also added workaround for currently non-functional systemd plugin
which doesn't include the systemd config into the initrd image.

Resolves: RHEL-40619

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2025-10-20 16:59:21 +02:00
Jaroslav Škarvada
df64818e9c
Merge pull request #794 from eshulman2/no_turbo
Allow overriding the no_turbo setting
2025-07-28 17:30:30 +02:00
Jaroslav Škarvada
51caa84b2f
Merge pull request #792 from zacikpa/dirty-update
vm: Deprecate dirty_ratio in favour of dirty_bytes with %
2025-07-28 17:25:33 +02:00
Jaroslav Škarvada
4be7c5e9d2
Merge pull request #767 from zacikpa/realtime-pstate
realtime: Disable appropriate P-State drivers
2025-07-24 01:19:38 +02:00
Jaroslav Škarvada
eb152e28e8
Merge pull request #747 from zacikpa/RHEL-61801
network_latency: Set non-zero rcutree.nohz_full_patience_delay
2025-07-23 09:33:15 +02:00
eshulman2
a6a503c86a Allow overriding the no_turbo setting
Add a new variable `no_turbo` to the cpu-partitioning-powersave profile
to allow users to override the default behavior of disabling turbo mode.
2025-07-21 18:00:54 +03:00
Pavol Žáčik
096c402881
vm: Deprecate dirty_ratio in favour of dirty_bytes with %
Same for dirty_background_ratio and dirty_background_bytes.

Using both the ratio and the bytes is not compatible with
the current profile inheritance implementation, because it
is not possible for dirty_bytes in a child profile to override
dirty_ratio in its parent profile.

Resolves: RHEL-101578
2025-07-08 15:58:59 +02:00
Pavol Žáčik
1ba98b652e
realtime: Disable appropriate P-State drivers
I.e., intel_pstate, amd_pstate or none.

Resolves: RHEL-85637
2025-04-16 15:09:10 +02:00
Pavol Žáčik
630a3ccf1a
network_latency: Set non-zero rcutree.nohz_full_patience_delay
Resolves: RHEL-61801
2025-02-11 11:19:34 +01:00
Ibrahim Ansari
d2adada5aa
profiles: use med_power_with_dipm for SATA ALPM
Using `min_power` can lead to data loss, and `med_power_with_dipm`
delivers similar power savings without the chance of data loss. [1]

`med_power_with_dipm` is the default setting[2] in upstream Linux for
SATA Link Power Management, and should provide significant power
savings on laptops using SATA drives over `medium_power`.

[1] https://hansdegoede.livejournal.com/18412.html
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/ata/Kconfig?id=5433f0e7427ae4f5b128d89ec16ccaafc9fef5ee

Signed-off-by: Ibrahim Ansari <ansari.ibrahim1@gmail.com>
2025-02-04 13:13:08 +05:30
Jaroslav Škarvada
08d03e0bf4
Merge pull request #739 from zacikpa/sap-hana-hugepages
sap-hana: Set transparent_hugepages to madvise
2025-01-29 22:43:39 +01:00
Pavol Žáčik
579cddc7e2
sap-hana: Set transparent_hugepages to madvise
Resolves: RHEL-68454
2025-01-29 13:26:15 +01:00
Hector Martin
e24bfef651 profiles: Correct CPU governor settings
First, always prefer schedutil for balanced/powersave. On platforms
where this governor is available, this enables Energy-Aware-Scheduling
which offers the best power efficiency and performance combination.
There is absolutely no reason to use another governor by default in the
"balanced" profile on these systems, in particular.

Second, swap around "conservative" and "ondemand". "conservative" is
supposed to be lower power and higher latency. The commit that made this
change [1] tested on a single server platform (10 years ago), but came
to the wrong conclusion. Dividing the throughput by power numbers of
that commit, "conservative" did in fact provide better performance/watt,
which is the intent of lower-power modes. The fact that it also
happened to provide better overall performance than "ondemand" is
probably an artifact of suboptimal power-management behavior or a
flawed test.

[1] b2897d9c1c

Signed-off-by: Hector Martin <marcan@marcan.st>
2025-01-21 08:31:13 +09:00
Pavol Žáčik
155f2323a4
Adjust profiles to set dirty_(bytes|ratio) via the vm plugin 2024-12-11 21:05:21 +01:00
Adriaan Schmidt
c690b5ec3e realtime: remove leftover use of tuna
Before the `scheduler` plugin, `tuna` was used for CPU isolation.
There is a leftover use in the verification of the `realtime` profile.
Removing that, the dependency on the `tuna` package, and now-empty
scripts from the realtime profiles.

closes #594

Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
2024-07-25 17:17:43 +02:00
Jaroslav Škarvada
cff5e91056
Merge pull request #647 from superm1/cpb-boost
Add support for controlling amd-pstate core performance boost
2024-07-24 19:26:38 +02:00
Mario Limonciello
068928e47b Add support for controlling amd-pstate core performance boost
Core performance boost control is added to kernel 6.11.
This sets up the policy to turn it off while in the power saver profile.

Link: https://lore.kernel.org/linux-pm/1a78eeaa-fadd-4734-aaeb-2fe11e96e198@amd.com/T/#m4a0c8917ea8fb033504055bd61512c80c85410c8
2024-06-21 15:31:46 -05:00
Pavol Žáčik
b3b0892d5b
Install script functions and recommend.d to /usr/lib/tuned/
In #615, they were accidentally moved to /usr/lib/tuned/profiles/
where all profiles were migrated.

This also changes the location of `functions` file within
the repository, separating it from the profiles themselves.

Resolves #642.
2024-06-19 15:41:37 +02:00
Jaroslav Škarvada
5512f1df09
Merge pull request #633 from yarda/drop-unused-amd-variable
throughput-performance: dropped unused AMD related variable
2024-05-23 21:29:48 +02:00
Mario Limonciello
c95380a10c Turn on amdgpu panel power savings in balanced-battery
This will be enacted when tuned-ppd detects a change to battery
while in the balanced mode.
2024-05-23 11:20:21 -05:00
Mario Limonciello
40d12e0c01 Modify the video plugin for tuning of the amdgpu panel_power_savings attribute
This attribute accepts a range from 0 through 4 where larger values
will also have larger panel power savings.

Using this has a trade off for color accuracy, and it is only applied
when the system is currently operating on battery.

Intentionally the plugin will check what values are already programmed
to the sysfs file to avoid unnecessary writes.  Writing the sysfs file
will cause a modeset which isn't necessary if writing the same value twice.

The default values are applied to the profiles that are used in
power-profiles-daemon compatbility.  They also match the values used in
that software.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
2024-05-23 10:16:18 -05:00
Jaroslav Škarvada
c14e156e63
Merge pull request #620 from yarda/sap-netweaver-vm-max-map-count-fix
sap-netweaver: increased vm.max_map_count
2024-05-23 13:57:07 +02:00
Jaroslav Škarvada
9d145a05aa
throughput-performance: dropped unused AMD related variable
Leftover from c6d6fdcc4c

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-05-13 10:32:36 +02:00
Jaroslav Škarvada
04ead944fd
sap-netweaver: increased vm.max_map_count
Resolves: RHEL-31757

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-04-08 11:03:47 +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
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
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
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
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
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
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
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
Jiri Mencak
158a3e83c9 Return 0 when ksm services do not exist
When ksm or ksmtuned services do not exist, return 0 so that we do not
generate ERRORs in TuneD logs.

Resolves: OCPBUGS-19656

Signed-off-by: Jiri Mencak <jmencak@users.noreply.github.com>
2023-09-24 20:54:34 +02:00
Jaroslav Škarvada
b7c8b19214
sap-hana-kvm-guest: fix whitespaces
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2023-08-21 01:24:45 +02:00
Marcelo Tosatti
cbcd1df901 network-latency: enable rcu_normal_after_boot=1 kernel parameter
The rcu_normal_after_boot=1 kernel parameter (which is enabled by
default on CONFIG_PREEMPT_RT kernels) avoids the use of IPIs
to expedite the runtime of synchronize_rcu_expedited() callers.

Enable this in tuned to avoid such IPIs on !CONFIG_PREEMPT_RT kernels
as well.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2023-06-20 14:15:42 -03:00
Marcelo Tosatti
925898b522 remove ktimer_lockless_check sysfs setting from realtime-virtual profiles
The ktimer_lockless_check interface was removed from Red Hat kernels.
Drop the tuned configuration as well.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2023-06-20 14:15:42 -03:00
Marcelo Tosatti
3747701d1c move rtentsk to network-latency profile
The interruptions avoided by the rtentsk logic:

"Add plugin to open a socket with SOF_TIMESTAMPING_OPT_TX_SWHW.

This is for avoiding interruptions due to static key IPIs due
to opening socket with timestamping enabled (by opening a
socket ourselves the static key is kept enabled)."

Are also desired on systems that use cpu-partitioning.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2023-06-20 14:15:42 -03:00
Marcelo Tosatti
c9c81093be move "tsc=reliable" setting from realtime to network-latency tuned configuration
Commit 49cc817871
("realtime: Set tsc as 'reliable'") reads:

"We already disable the clocksource watchdog, it's there to double-check
whether clock results are coherent between reads. But a new reliability
test was introduced in recent kernels[1], tracking tsc drift between
CPUs[2]. It works by programming timers on all CPUs, including isolated
ones, and checks whether the tsc was adjusted in between runs. This
introduces unwarranted latency on real time systems. So let's promote
tsc to 'reliable', which disables both checks."

The timer is also undesired interruption to systems that use cpu-partitioning.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2023-06-20 14:15:42 -03:00
Marcelo Tosatti
4a622d2b5f unify common sysctl settings between realtime and cpu-partitioning profiles
The following sysctl settings are the same between cpu-partitioning and
realtime profiles:

kernel.hung_task_timeout_secs = 600
kernel.nmi_watchdog = 0
vm.stat_interval = 10
kernel.timer_migration = 0

Unify them in the network-latency profile, parent of both profiles.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2023-06-20 14:15:42 -03:00
Jaroslav Škarvada
f65b43d1dd
Merge pull request #529 from newkit/master
Added sap-hana-kvm-guest profile
2023-06-14 10:51:06 +02:00
Jaroslav Škarvada
503540fffb
Merge pull request #525 from uniontech-lilinjie/spell-err
fix typo
2023-06-14 10:45:52 +02:00