import CS git tuned-2.27.0-2.el10_2

This commit is contained in:
AlmaLinux RelEng Bot 2026-08-04 15:14:46 -04:00
parent 6a45d5e20a
commit 64013a962d
6 changed files with 136 additions and 75 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
tuned-2.26.0.tar.gz
tuned-2.27.0.tar.gz

View File

@ -1 +1 @@
SHA512 (tuned-2.26.0.tar.gz) = af468e1b4ca2e10cf00cad53f27d65d0b5eab73e65b9c61d67fd39ff9687700704db87294fbf62bda949b3544a9ba69c82f6d35f448226654a5949fa8de1b2c0
SHA512 (tuned-2.27.0.tar.gz) = 7471d073879a688da66e72c4f5c562d1a732d6bfb562d8c033874a8edbad2bab3cf3c7dc387270bf99ae6b1b35ffc451173122e32023116709567e529e09dc52

View File

@ -1,68 +0,0 @@
From 8889fbb65a2fef367811dbbf97aaa77afcc59d09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
Date: Wed, 8 Oct 2025 19:29:41 +0200
Subject: [PATCH] cpu-partitioning: autodetect dracut hook directory,
workaround for systemd
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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.
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
---
profiles/cpu-partitioning/script.sh | 13 +++++++++++--
profiles/cpu-partitioning/tuned.conf | 3 ++-
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/profiles/cpu-partitioning/script.sh b/profiles/cpu-partitioning/script.sh
index ec422ca..5fe8d7d 100755
--- a/profiles/cpu-partitioning/script.sh
+++ b/profiles/cpu-partitioning/script.sh
@@ -3,10 +3,19 @@
. /usr/lib/tuned/functions
start() {
+ DRACUT_VER=`dracut --version | sed 's/^.* \([0-9]\+\).*/\1/'`
+ echo "$DRACUT_VER" | grep -q '^[[:digit:]]\+$' || DRACUT_VER="0"
+ # https://issues.redhat.com/browse/RHEL-119889
+ if [ "$DRACUT_VER" -gt "102" ]
+ then
+ DRACUT_HOOK_DIR="/var/lib/dracut/hooks/pre-udev"
+ else
+ DRACUT_HOOK_DIR="/usr/lib/dracut/hooks/pre-udev"
+ fi
mkdir -p "${TUNED_tmpdir}/etc/systemd"
- mkdir -p "${TUNED_tmpdir}/usr/lib/dracut/hooks/pre-udev"
+ mkdir -p "${TUNED_tmpdir}${DRACUT_HOOK_DIR}"
cp /etc/systemd/system.conf "${TUNED_tmpdir}/etc/systemd/"
- cp 00-tuned-pre-udev.sh "${TUNED_tmpdir}/usr/lib/dracut/hooks/pre-udev/"
+ cp 00-tuned-pre-udev.sh "${TUNED_tmpdir}${DRACUT_HOOK_DIR}"
setup_kvm_mod_low_latency
disable_ksm
return "$?"
diff --git a/profiles/cpu-partitioning/tuned.conf b/profiles/cpu-partitioning/tuned.conf
index 11f03cf..e795dcb 100644
--- a/profiles/cpu-partitioning/tuned.conf
+++ b/profiles/cpu-partitioning/tuned.conf
@@ -23,6 +23,7 @@ tmpdir=${f:strip:${f:exec:mktemp:-d}}
isolated_cores_expanded=${f:cpulist_unpack:${isolated_cores}}
isolated_cpumask=${f:cpulist2hex:${isolated_cores_expanded}}
not_isolated_cores_expanded=${f:cpulist_invert:${isolated_cores_expanded}}
+not_isolated_cores=${f:cpulist_pack:${not_isolated_cores_expanded}}
isolated_cores_online_expanded=${f:cpulist_online:${isolated_cores}}
not_isolated_cores_online_expanded=${f:cpulist_online:${not_isolated_cores_expanded}}
not_isolated_cpumask=${f:cpulist2hex:${not_isolated_cores_expanded}}
@@ -62,4 +63,4 @@ priority=10
initrd_remove_dir=True
initrd_dst_img=tuned-initrd.img
initrd_add_dir=${tmpdir}
-cmdline_cpu_part=+nohz=on${cmd_isolcpus} nohz_full=${isolated_cores} rcu_nocbs=${isolated_cores} tuned.non_isolcpus=${not_isolated_cpumask} intel_pstate=disable nosoftlockup
+cmdline_cpu_part=+nohz=on${cmd_isolcpus} nohz_full=${isolated_cores} rcu_nocbs=${isolated_cores} tuned.non_isolcpus=${not_isolated_cpumask} systemd.cpu_affinity=${not_isolated_cores} intel_pstate=disable nosoftlockup
--
2.51.0

View File

@ -0,0 +1,73 @@
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)

View File

@ -0,0 +1,29 @@
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

View File

@ -42,8 +42,8 @@
Summary: A dynamic adaptive system tuning daemon
Name: tuned
Version: 2.26.0
Release: 1%{?prerel1}%{?dist}.1
Version: 2.27.0
Release: 2%{?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:
@ -118,8 +118,10 @@ Recommends: subscription-manager
Requires: python3-syspurpose
%endif
%endif
# https://github.com/redhat-performance/tuned/pull/805
Patch: tuned-2.26.0-cpu-partitioning-initrd-workaround.patch
# 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
%description
The tuned package contains a daemon that tunes system settings dynamically.
@ -308,7 +310,7 @@ make install-ppd DESTDIR="%{buildroot}" BINDIR="%{_bindir}" \
SBINDIR="%{_sbindir}" DOCDIR="%{docdir}" %{make_python_arg}
# manual
make install-html DESTDIR=%{buildroot} DOCDIR=%{docdir}
make install-html DESTDIR=%{buildroot} DOCDIR=%{docdir} %{make_python_arg}
# conditional support for grub2, grub2 is not available on all architectures
# and tuned is noarch package, thus the following hack is needed
@ -637,6 +639,31 @@ fi
%config(noreplace) %{_sysconfdir}/tuned/ppd.conf
%changelog
* 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
* Sun Feb 22 2026 Jaroslav Škarvada <jskarvad@redhat.com> - 2.27.0-1
- new release
- rebased tuned to latest upstream
related: RHEL-123608
* Tue Feb 10 2026 Jaroslav Škarvada <jskarvad@redhat.com> - 2.27.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: RHEL-123608
- cpu-partitioning: autodetect dracut hook directory, systemd workaround
resolves: RHEL-40619
- openshift: optimize TCP settings for high throughput and low latency
- profiles: Set boost=1 in *-performance profiles
- sap-hana: force latency to 70 us, not to C-states
resolves: RHEL-142285
- man: fixed instance_acquire_devices example in tuned-adm man
resolves: RHEL-90575
- spec: use correct python interpreter for documentation installation
- sysctl: add reapply_sysctl_exclude option
- ppd: ask tuned recommend for base profile
* Mon Oct 20 2025 Jaroslav Škarvada <jskarvad@redhat.com> - 2.26.0-1.1
- cpu-partitioning: added initrd generation dracut/systemd workarounds
resolves: RHEL-120175