new release
rebased tuned to latest upstream
resolves: RHEL-210931
scheduler: check for EPERM when setting IRQ affinity
resolves: RHEL-153655
bootloader: set correct permission for tempdir
commands: better error msgs when creating directory and hardened dir mode
docs: build reference guide
systemd: used drop-ins for configuration
resolves: RHEL-97580
systemd: do not backup the drop-in configuration
net: add more coalescing options, filter out unsupported ones
resolves: RHEL-152675
cpu: do not log error if boost isn't supported
resolves: RHEL-169618
bootloader: add bootc loader-entries set-options-for-source support
resolves: RHEL-170825
cpu: fixed TypeError when load_threshold is set in a profil
openshift: include network-throughput profile
drop support for vm.laptop_mode which is deprecated in kernel 7.0
net: fixed ring parser to work with rx-mini and rx-jumbo
lscpu_check: do not traceback on invalid regex
network-latency: increase AVC cache to 8192
functions: use iw for Wi-Fi power saving
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
This commit is contained in:
parent
32eaa53ef1
commit
ef45c2dc39
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (tuned-2.27.0.tar.gz) = 7471d073879a688da66e72c4f5c562d1a732d6bfb562d8c033874a8edbad2bab3cf3c7dc387270bf99ae6b1b35ffc451173122e32023116709567e529e09dc52
|
||||
SHA512 (tuned-2.28.0-rc.1.tar.gz) = 9c2d1685464440d10d4765f1f8cc6949255e4f876ea3e5b8315900f3bb71328b78c3eb13ea9b150801d495cddc1f47f9a47eab689081cb5230c31f8172ec6027
|
||||
|
||||
@ -1,73 +0,0 @@
|
||||
From f5cfd2a72263ebf1c868fa75afd6d6e085e10e50 Mon Sep 17 00:00:00 2001
|
||||
From: Fothsid <18036123+Fothsid@users.noreply.github.com>
|
||||
Date: Wed, 22 Apr 2026 16:01:23 +0200
|
||||
Subject: [PATCH] net: add more coalescing options, filter out unsupported ones
|
||||
|
||||
Ethtool's tx-aggr-* parameters were not known to tuned.
|
||||
|
||||
In addition to adding those, checking logic is changed to
|
||||
filter out unknown parameters supported by ethtool instead
|
||||
of simply failing to set any options.
|
||||
|
||||
Resolves: RHEL-152675
|
||||
---
|
||||
tuned/plugins/plugin_net.py | 20 +++++++++-----------
|
||||
1 file changed, 9 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/tuned/plugins/plugin_net.py b/tuned/plugins/plugin_net.py
|
||||
index 6d291b291..31b30f5df 100644
|
||||
--- a/tuned/plugins/plugin_net.py
|
||||
+++ b/tuned/plugins/plugin_net.py
|
||||
@@ -332,7 +332,10 @@ def _get_config_options_coalesce(cls):
|
||||
"rx-frames-high": None,
|
||||
"tx-usecs-high": None,
|
||||
"tx-frames-high": None,
|
||||
- "sample-interval": None
|
||||
+ "sample-interval": None,
|
||||
+ "tx-aggr-max-bytes": None,
|
||||
+ "tx-aggr-max-frames": None,
|
||||
+ "tx-aggr-time-usecs": None
|
||||
}
|
||||
|
||||
@classmethod
|
||||
@@ -615,7 +618,7 @@ def _get_mtu(self, device, instance, ignore_missing=False):
|
||||
# d is dict: {parameter: value}
|
||||
def _check_parameters(self, context, d):
|
||||
if context == "features":
|
||||
- return True
|
||||
+ return d
|
||||
params = set(d.keys())
|
||||
supported_getter = { "coalesce": self._get_config_options_coalesce, \
|
||||
"pause": self._get_config_options_pause, \
|
||||
@@ -623,9 +626,8 @@ def _check_parameters(self, context, d):
|
||||
"channels": self._get_config_options_channels }
|
||||
supported = set(supported_getter[context]().keys())
|
||||
if not params.issubset(supported):
|
||||
- log.error("unknown %s parameter(s): %s" % (context, str(params - supported)))
|
||||
- return False
|
||||
- return True
|
||||
+ log.warning("ignoring unknown %s parameter(s): %s" % (context, str(params - supported)))
|
||||
+ return {k: v for k, v in d.items() if k in supported}
|
||||
|
||||
# parse output of ethtool -a
|
||||
def _parse_pause_parameters(self, s):
|
||||
@@ -712,17 +714,13 @@ def _get_device_parameters(self, instance, context, device):
|
||||
"channels": self._parse_channels_parameters }
|
||||
parser = context2parser[context]
|
||||
d = parser(value)
|
||||
- if context == "coalesce" and not self._check_parameters(context, d):
|
||||
- return None
|
||||
- return d
|
||||
+ return self._check_parameters(context, d)
|
||||
|
||||
def _set_device_parameters(self, instance, context, value, device, sim,
|
||||
dev_params = None):
|
||||
if value is None or len(value) == 0:
|
||||
return None
|
||||
- d = self._parse_config_parameters(value, context)
|
||||
- if d is None or not self._check_parameters(context, d):
|
||||
- return {}
|
||||
+ d = self._check_parameters(context, self._parse_config_parameters(value, context))
|
||||
# check if device supports parameters and filter out unsupported ones
|
||||
if dev_params:
|
||||
self._check_device_support(instance, context, d, device, dev_params)
|
||||
@ -1,29 +0,0 @@
|
||||
From 8d6874c9439054f5baa04b9988d4a472c5c2924b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
|
||||
Date: Tue, 10 Feb 2026 22:36:42 +0100
|
||||
Subject: [PATCH] Revert "feat(openshift): Optimize TCP settings for high
|
||||
throughput and low latency"
|
||||
|
||||
This reverts commit 7a1a288e85fdcd0cb163b307a54a0718064f6641.
|
||||
---
|
||||
profiles/openshift/tuned.conf | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/profiles/openshift/tuned.conf b/profiles/openshift/tuned.conf
|
||||
index b3cf62b..197850c 100644
|
||||
--- a/profiles/openshift/tuned.conf
|
||||
+++ b/profiles/openshift/tuned.conf
|
||||
@@ -17,10 +17,6 @@ kernel.pid_max=>4194304
|
||||
fs.aio-max-nr=>1048576
|
||||
net.netfilter.nf_conntrack_max=1048576
|
||||
net.ipv4.conf.all.arp_announce=2
|
||||
-net.ipv4.tcp_notsent_lowat=131072
|
||||
-net.ipv4.tcp_slow_start_after_idle=0
|
||||
-net.ipv4.tcp_rmem="4096 131072 16777216"
|
||||
-net.ipv4.tcp_wmem="4096 16384 16777216"
|
||||
net.ipv4.neigh.default.gc_thresh1=8192
|
||||
net.ipv4.neigh.default.gc_thresh2=32768
|
||||
net.ipv4.neigh.default.gc_thresh3=65536
|
||||
--
|
||||
2.52.0
|
||||
|
||||
28
tuned-2.28.0-openshift-revert.patch
Normal file
28
tuned-2.28.0-openshift-revert.patch
Normal file
@ -0,0 +1,28 @@
|
||||
diff --git a/profiles/network-throughput/tuned.conf b/profiles/network-throughput/tuned.conf
|
||||
index eeeb174..e531ac3 100644
|
||||
--- a/profiles/network-throughput/tuned.conf
|
||||
+++ b/profiles/network-throughput/tuned.conf
|
||||
@@ -7,10 +7,6 @@ summary=Optimize for streaming network throughput, generally only necessary on o
|
||||
include=throughput-performance
|
||||
|
||||
[sysctl]
|
||||
-# Sets tcp_notsent_lowat to a value intended to balance throughput and latency while limiting total socket memory usage.
|
||||
-net.ipv4.tcp_notsent_lowat=131072
|
||||
-# Disables slow start after a connection has been idle, allowing immediate maximum throughput upon resuming data transfer.
|
||||
-net.ipv4.tcp_slow_start_after_idle=0
|
||||
# Increase kernel buffer size maximums. Currently this seems only necessary at 40Gb speeds.
|
||||
#
|
||||
# The buffer tuning values below do not account for any potential hugepage allocation.
|
||||
diff --git a/profiles/openshift/tuned.conf b/profiles/openshift/tuned.conf
|
||||
index 28dfb4d..197850c 100644
|
||||
--- a/profiles/openshift/tuned.conf
|
||||
+++ b/profiles/openshift/tuned.conf
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
[main]
|
||||
summary=Optimize systems running OpenShift (parent profile)
|
||||
-include=${f:virt_check:virtual-guest:network-throughput}
|
||||
+include=${f:virt_check:virtual-guest:throughput-performance}
|
||||
|
||||
[selinux]
|
||||
avc_cache_threshold=8192
|
||||
37
tuned-2.28.0-vm-laptop-mode-revert.patch
Normal file
37
tuned-2.28.0-vm-laptop-mode-revert.patch
Normal file
@ -0,0 +1,37 @@
|
||||
diff --git a/doc/TIPS.txt b/doc/TIPS.txt
|
||||
index 0a0c490..36b4071 100644
|
||||
--- a/doc/TIPS.txt
|
||||
+++ b/doc/TIPS.txt
|
||||
@@ -19,6 +19,8 @@
|
||||
* Make sure writes to hd don't wake it up too quickly:
|
||||
** Set flushing to once per 5 minutes
|
||||
** echo "3000" > /proc/sys/vm/dirty_writeback_centisecs
|
||||
+** Enable laptop mode
|
||||
+** echo "5" > /proc/sys/vm/laptop_mode
|
||||
* Use relatime for your / partition
|
||||
** mount -o remount,relatime /
|
||||
* Enable USB autosuspend by adding the following to the kernel boot commandline:
|
||||
diff --git a/profiles/powersave/tuned.conf b/profiles/powersave/tuned.conf
|
||||
index c8173af..fe12766 100644
|
||||
--- a/profiles/powersave/tuned.conf
|
||||
+++ b/profiles/powersave/tuned.conf
|
||||
@@ -37,6 +37,7 @@ panel_power_savings=3
|
||||
alpm=med_power_with_dipm
|
||||
|
||||
[sysctl]
|
||||
+vm.laptop_mode=5
|
||||
vm.dirty_writeback_centisecs=1500
|
||||
kernel.nmi_watchdog=0
|
||||
|
||||
diff --git a/profiles/spindown-disk/tuned.conf b/profiles/spindown-disk/tuned.conf
|
||||
index 75b472b..b13dbd9 100644
|
||||
--- a/profiles/spindown-disk/tuned.conf
|
||||
+++ b/profiles/spindown-disk/tuned.conf
|
||||
@@ -32,6 +32,7 @@ dirty_bytes=60%
|
||||
[sysctl]
|
||||
vm.dirty_writeback_centisecs=6000
|
||||
vm.dirty_expire_centisecs=9000
|
||||
+vm.laptop_mode=5
|
||||
vm.swappiness=30
|
||||
|
||||
[script]
|
||||
46
tuned.spec
46
tuned.spec
@ -34,19 +34,19 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
#%%global prerelease rc
|
||||
#%%global prereleasenum 1
|
||||
%global prerelease rc
|
||||
%global prereleasenum 1
|
||||
|
||||
%global prerel1 %{?prerelease:.%{prerelease}%{prereleasenum}}
|
||||
%global prerel2 %{?prerelease:-%{prerelease}.%{prereleasenum}}
|
||||
|
||||
Summary: A dynamic adaptive system tuning daemon
|
||||
Name: tuned
|
||||
Version: 2.27.0
|
||||
Release: 2%{?prerel1}%{?dist}
|
||||
Version: 2.28.0
|
||||
Release: 0.1%{?prerel1}%{?dist}
|
||||
License: GPL-2.0-or-later AND CC-BY-SA-3.0
|
||||
Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz
|
||||
# RHEL-9 specific recommend.conf:
|
||||
# RHEL-10 specific recommend.conf:
|
||||
Source1: recommend.conf
|
||||
URL: http://www.tuned-project.org/
|
||||
BuildArch: noarch
|
||||
@ -91,6 +91,7 @@ Requires: pygobject3-base
|
||||
%endif
|
||||
Requires: virt-what
|
||||
Requires: ethtool
|
||||
Requires: iw
|
||||
Requires: gawk
|
||||
Requires: util-linux
|
||||
Requires: dbus
|
||||
@ -119,9 +120,9 @@ Requires: python3-syspurpose
|
||||
%endif
|
||||
%endif
|
||||
# Revert not yet RHEL approved tuning
|
||||
Patch: tuned-2.27.0-openshift-revert.patch
|
||||
# https://github.com/redhat-performance/tuned/pull/852
|
||||
Patch: tuned-2.27.0-net-coalescing-fix.patch
|
||||
Patch: tuned-2.28.0-openshift-revert.patch
|
||||
# Revert changes for kernel 7
|
||||
Patch: tuned-2.28.0-vm-laptop-mode-revert.patch
|
||||
|
||||
%description
|
||||
The tuned package contains a daemon that tunes system settings dynamically.
|
||||
@ -512,6 +513,9 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/tuned/tuned-main.conf
|
||||
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/bootcmdline
|
||||
%verify(not size mtime md5) %{_sysconfdir}/modprobe.d/tuned.conf
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2444143
|
||||
%dir %{_sysconfdir}/systemd/system.conf.d
|
||||
%verify(not size mtime md5) %{_sysconfdir}/systemd/system.conf.d/00-tuned.conf
|
||||
%{_tmpfilesdir}/tuned.conf
|
||||
%{_unitdir}/tuned.service
|
||||
%dir %{_localstatedir}/log/tuned
|
||||
@ -639,6 +643,32 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/tuned/ppd.conf
|
||||
|
||||
%changelog
|
||||
* Sat Aug 08 2026 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-0.1.rc1
|
||||
- new release
|
||||
- rebased tuned to latest upstream
|
||||
resolves: RHEL-210931
|
||||
- scheduler: check for EPERM when setting IRQ affinity
|
||||
resolves: RHEL-153655
|
||||
- bootloader: set correct permission for tempdir
|
||||
- commands: better error msgs when creating directory and hardened dir mode
|
||||
- docs: build reference guide
|
||||
- systemd: used drop-ins for configuration
|
||||
resolves: RHEL-97580
|
||||
- systemd: do not backup the drop-in configuration
|
||||
- net: add more coalescing options, filter out unsupported ones
|
||||
resolves: RHEL-152675
|
||||
- cpu: do not log error if boost isn't supported
|
||||
resolves: RHEL-169618
|
||||
- bootloader: add bootc loader-entries set-options-for-source support
|
||||
resolves: RHEL-170825
|
||||
- cpu: fixed TypeError when load_threshold is set in a profil
|
||||
- openshift: include network-throughput profile
|
||||
- drop support for vm.laptop_mode which is deprecated in kernel 7.0
|
||||
- net: fixed ring parser to work with rx-mini and rx-jumbo
|
||||
- lscpu_check: do not traceback on invalid regex
|
||||
- network-latency: increase AVC cache to 8192
|
||||
- functions: use iw for Wi-Fi power saving
|
||||
|
||||
* Mon Jun 15 2026 Jaroslav Škarvada <jskarvad@redhat.com> - 2.27.0-2
|
||||
- net: added more coalescing options, filter out unsupported ones
|
||||
resolves: RHEL-181667
|
||||
|
||||
Loading…
Reference in New Issue
Block a user