net: added more coalescing options, filter out unsupported ones
resolves: RHEL-181668
This commit is contained in:
parent
e730a4a5ef
commit
f953b24893
73
tuned-2.27.0-net-coalescing-fix.patch
Normal file
73
tuned-2.27.0-net-coalescing-fix.patch
Normal 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)
|
||||
@ -43,7 +43,7 @@
|
||||
Summary: A dynamic adaptive system tuning daemon
|
||||
Name: tuned
|
||||
Version: 2.27.0
|
||||
Release: 1%{?prerel1}%{?dist}
|
||||
Release: 2%{?prerel1}%{?dist}
|
||||
License: GPLv2+
|
||||
Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz
|
||||
# RHEL-9 specific recommend.conf:
|
||||
@ -122,6 +122,8 @@ Requires: python3-syspurpose
|
||||
Patch: tuned-2.25.0-revert-profile-migration.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.
|
||||
@ -640,6 +642,10 @@ 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-181668
|
||||
|
||||
* Sun Feb 22 2026 Jaroslav Škarvada <jskarvad@redhat.com> - 2.27.0-1
|
||||
- new release
|
||||
- rebased tuned to latest upstream
|
||||
|
||||
Loading…
Reference in New Issue
Block a user