From ef45c2dc39c72c150516928af93ee1fc9540261d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Sat, 8 Aug 2026 02:27:09 +0200 Subject: [PATCH] new release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- sources | 2 +- tuned-2.27.0-net-coalescing-fix.patch | 73 ------------------------ tuned-2.27.0-openshift-revert.patch | 29 ---------- tuned-2.28.0-openshift-revert.patch | 28 +++++++++ tuned-2.28.0-vm-laptop-mode-revert.patch | 37 ++++++++++++ tuned.spec | 46 ++++++++++++--- 6 files changed, 104 insertions(+), 111 deletions(-) delete mode 100644 tuned-2.27.0-net-coalescing-fix.patch delete mode 100644 tuned-2.27.0-openshift-revert.patch create mode 100644 tuned-2.28.0-openshift-revert.patch create mode 100644 tuned-2.28.0-vm-laptop-mode-revert.patch diff --git a/sources b/sources index f515150..1557366 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (tuned-2.27.0.tar.gz) = 7471d073879a688da66e72c4f5c562d1a732d6bfb562d8c033874a8edbad2bab3cf3c7dc387270bf99ae6b1b35ffc451173122e32023116709567e529e09dc52 +SHA512 (tuned-2.28.0-rc.1.tar.gz) = 9c2d1685464440d10d4765f1f8cc6949255e4f876ea3e5b8315900f3bb71328b78c3eb13ea9b150801d495cddc1f47f9a47eab689081cb5230c31f8172ec6027 diff --git a/tuned-2.27.0-net-coalescing-fix.patch b/tuned-2.27.0-net-coalescing-fix.patch deleted file mode 100644 index c263b2c..0000000 --- a/tuned-2.27.0-net-coalescing-fix.patch +++ /dev/null @@ -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) diff --git a/tuned-2.27.0-openshift-revert.patch b/tuned-2.27.0-openshift-revert.patch deleted file mode 100644 index a4f2250..0000000 --- a/tuned-2.27.0-openshift-revert.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8d6874c9439054f5baa04b9988d4a472c5c2924b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= -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 - diff --git a/tuned-2.28.0-openshift-revert.patch b/tuned-2.28.0-openshift-revert.patch new file mode 100644 index 0000000..cbb5dc5 --- /dev/null +++ b/tuned-2.28.0-openshift-revert.patch @@ -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 diff --git a/tuned-2.28.0-vm-laptop-mode-revert.patch b/tuned-2.28.0-vm-laptop-mode-revert.patch new file mode 100644 index 0000000..ae7ec17 --- /dev/null +++ b/tuned-2.28.0-vm-laptop-mode-revert.patch @@ -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] diff --git a/tuned.spec b/tuned.spec index 6ae8e8f..626d448 100644 --- a/tuned.spec +++ b/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 - 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 - 2.27.0-2 - net: added more coalescing options, filter out unsupported ones resolves: RHEL-181667