From 73ecb97f523c11e51209608210f499ab88da76a5 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Feb 18 2023 00:52:20 +0000 Subject: import tuned-2.20.0-0.2.rc1.el8 --- diff --git a/.gitignore b/.gitignore index d391172..5647b3a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/tuned-2.19.0.tar.gz +SOURCES/tuned-2.20.0-rc.1.tar.gz diff --git a/.tuned.metadata b/.tuned.metadata index f0a17b8..43539e8 100644 --- a/.tuned.metadata +++ b/.tuned.metadata @@ -1 +1 @@ -369f0a4af9f03e6c1a5b137509b792a63aadd688 SOURCES/tuned-2.19.0.tar.gz +0f08a63faa36c21753240c0f8e50765762edc249 SOURCES/tuned-2.20.0-rc.1.tar.gz diff --git a/SOURCES/tuned-2.18.0-rhel-8-profiles.patch b/SOURCES/tuned-2.18.0-rhel-8-profiles.patch deleted file mode 100644 index d1d5750..0000000 --- a/SOURCES/tuned-2.18.0-rhel-8-profiles.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/profiles/latency-performance/tuned.conf b/profiles/latency-performance/tuned.conf -index d200b5c..877229f 100644 ---- a/profiles/latency-performance/tuned.conf -+++ b/profiles/latency-performance/tuned.conf -@@ -32,3 +32,16 @@ vm.dirty_background_ratio=3 - # 100 tells the kernel to aggressively swap processes out of physical memory - # and move them to swap cache - vm.swappiness=10 -+ -+[scheduler] -+# ktune sysctl settings for rhel6 servers, maximizing i/o throughput -+# -+# Minimal preemption granularity for CPU-bound tasks: -+# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) -+sched_min_granularity_ns = 3000000 -+sched_wakeup_granularity_ns = 4000000 -+ -+# The total time the scheduler will consider a migrated process -+# "cache hot" and thus less likely to be re-migrated -+# (system default is 500000, i.e. 0.5 ms) -+sched_migration_cost_ns = 5000000 -diff --git a/profiles/sap-hana/tuned.conf b/profiles/sap-hana/tuned.conf -index aeecf53..8dcee57 100644 ---- a/profiles/sap-hana/tuned.conf -+++ b/profiles/sap-hana/tuned.conf -@@ -20,3 +20,7 @@ kernel.numa_balancing = 0 - vm.dirty_ratio = 40 - vm.dirty_background_ratio = 10 - vm.swappiness = 10 -+ -+[scheduler] -+sched_min_granularity_ns = 3000000 -+sched_wakeup_granularity_ns = 4000000 -diff --git a/profiles/throughput-performance/tuned.conf b/profiles/throughput-performance/tuned.conf -index 98c6b26..ebb3f7d 100644 ---- a/profiles/throughput-performance/tuned.conf -+++ b/profiles/throughput-performance/tuned.conf -@@ -58,9 +58,31 @@ vm.dirty_background_ratio = 10 - # and move them to swap cache - vm.swappiness=10 - -+[scheduler] -+# ktune sysctl settings for rhel6 servers, maximizing i/o throughput -+# -+# Minimal preemption granularity for CPU-bound tasks: -+# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) -+sched_min_granularity_ns = 10000000 -+ -+# SCHED_OTHER wake-up granularity. -+# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) -+# -+# This option delays the preemption effects of decoupled workloads -+# and reduces their over-scheduling. Synchronous workloads will still -+# have immediate wakeup/sleep latencies. -+sched_wakeup_granularity_ns = 15000000 -+ - # Marvell ThunderX - [sysctl.thunderx] - type=sysctl - uname_regex=aarch64 - cpuinfo_regex=${thunderx_cpuinfo_regex} - kernel.numa_balancing=0 -+ -+# AMD -+[scheduler.amd] -+type=scheduler -+uname_regex=x86_64 -+cpuinfo_regex=${amd_cpuinfo_regex} -+sched_migration_cost_ns=5000000 -diff --git a/profiles/virtual-host/tuned.conf b/profiles/virtual-host/tuned.conf -index 5301d9f..74a5fb0 100644 ---- a/profiles/virtual-host/tuned.conf -+++ b/profiles/virtual-host/tuned.conf -@@ -14,3 +14,9 @@ vm.dirty_background_ratio = 5 - [cpu] - # Setting C3 state sleep mode/power savings - force_latency=cstate.id_no_zero:3|70 -+ -+[scheduler] -+# The total time the scheduler will consider a migrated process -+# "cache hot" and thus less likely to be re-migrated -+# (system default is 500000, i.e. 0.5 ms) -+sched_migration_cost_ns = 5000000 diff --git a/SOURCES/tuned-2.20-rc1-gtk-is-active-fix.patch b/SOURCES/tuned-2.20-rc1-gtk-is-active-fix.patch new file mode 100644 index 0000000..2b39c24 --- /dev/null +++ b/SOURCES/tuned-2.20-rc1-gtk-is-active-fix.patch @@ -0,0 +1,26 @@ +From c503d3ec5022de8d8aff66e4ac2fabe73bf77a9d Mon Sep 17 00:00:00 2001 +From: lilinjie +Date: Thu, 9 Feb 2023 10:15:51 +0800 +Subject: [PATCH] fix 'is_active' does not work + +Signed-off-by: lilinjie +--- + tuned-gui.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tuned-gui.py b/tuned-gui.py +index 3159a96..b32cf64 100755 +--- a/tuned-gui.py ++++ b/tuned-gui.py +@@ -362,7 +362,7 @@ class Base(object): + if profile is None: + self.error_dialog('No profile selected!', '') + return +- if self._gobj('windowProfileEditor').is_active(): ++ if self._gobj('windowProfileEditor').is_visible(): + self.error_dialog('You are editing ' + + self.editing_profile_name + + ' profile.', +-- +2.39.1 + diff --git a/SOURCES/tuned-2.20-rc1-log-typos-fix.patch b/SOURCES/tuned-2.20-rc1-log-typos-fix.patch new file mode 100644 index 0000000..fb92206 --- /dev/null +++ b/SOURCES/tuned-2.20-rc1-log-typos-fix.patch @@ -0,0 +1,53 @@ +From 0b96f270b8c97b4a4fc0ef85a08363a6a9d76bd6 Mon Sep 17 00:00:00 2001 +From: liuzhilin +Date: Mon, 13 Feb 2023 10:44:34 +0800 +Subject: [PATCH] fix log error + +--- + tuned/daemon/application.py | 2 +- + tuned/exports/dbus_exporter.py | 2 +- + tuned/utils/global_config.py | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tuned/daemon/application.py b/tuned/daemon/application.py +index 6ca662b..5f203b1 100644 +--- a/tuned/daemon/application.py ++++ b/tuned/daemon/application.py +@@ -211,7 +211,7 @@ class Application(object): + if daemon: + self.config.set(consts.CFG_DAEMON, True) + if not self.config.get_bool(consts.CFG_DAEMON, consts.CFG_DEF_DAEMON): +- log.warn("Using one shot no deamon mode, most of the functionality will be not available, it can be changed in global config") ++ log.warn("Using one shot no daemon mode, most of the functionality will be not available, it can be changed in global config") + result = self._controller.run() + if self.config.get_bool(consts.CFG_DAEMON, consts.CFG_DEF_DAEMON): + exports.stop() +diff --git a/tuned/exports/dbus_exporter.py b/tuned/exports/dbus_exporter.py +index f49ce5f..8073b49 100644 +--- a/tuned/exports/dbus_exporter.py ++++ b/tuned/exports/dbus_exporter.py +@@ -132,7 +132,7 @@ class DBusExporter(interfaces.ExporterInterface): + def wrapper(owner, *args, **kwargs): + action_id = consts.NAMESPACE + "." + method.__name__ + caller = args[-1] +- log.debug("checking authorization for for action '%s' requested by caller '%s'" % (action_id, caller)) ++ log.debug("checking authorization for action '%s' requested by caller '%s'" % (action_id, caller)) + ret = self._polkit.check_authorization(caller, action_id) + args_copy = args + if ret == 1: +diff --git a/tuned/utils/global_config.py b/tuned/utils/global_config.py +index 909be1e..5593fff 100644 +--- a/tuned/utils/global_config.py ++++ b/tuned/utils/global_config.py +@@ -19,7 +19,7 @@ class GlobalConfig(): + def get_global_config_spec(): + """ + Easy validation mimicking configobj +- Returns two dicts, firts with default values (default None) ++ Returns two dicts, first with default values (default None) + global_default[consts.CFG_SOMETHING] = consts.CFG_DEF_SOMETHING or None + second with configobj function for value type (default "get" for string, others eg getboolean, getint) + global_function[consts.CFG_SOMETHING] = consts.CFG_FUNC_SOMETHING or get +-- +2.39.1 + diff --git a/SOURCES/tuned-2.20-rc1-man-fix.patch b/SOURCES/tuned-2.20-rc1-man-fix.patch new file mode 100644 index 0000000..82e14cf --- /dev/null +++ b/SOURCES/tuned-2.20-rc1-man-fix.patch @@ -0,0 +1,494 @@ +From 207ae6f84b9136fe43bdc7bbff39bc195a86fed0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= +Date: Wed, 15 Feb 2023 18:03:41 +0100 +Subject: [PATCH] man: updated manual pages to be more consistent +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jaroslav Škarvada +--- + man/tuned-adm.8 | 3 + + man/tuned-profiles-atomic.7 | 1 + + man/tuned-profiles-compat.7 | 3 + + ...uned-profiles-cpu-partitioning-powersave.7 | 67 ------------------- + man/tuned-profiles-cpu-partitioning.7 | 57 +++++++++++++--- + man/tuned-profiles-mssql.7 | 12 +++- + man/tuned-profiles-nfv-guest.7 | 1 + + man/tuned-profiles-nfv-host.7 | 1 + + man/tuned-profiles-openshift.7 | 5 +- + man/tuned-profiles-oracle.7 | 3 +- + man/tuned-profiles-postgresql.7 | 5 +- + man/tuned-profiles-realtime.7 | 1 + + man/tuned-profiles-sap-hana.7 | 3 +- + man/tuned-profiles-sap.7 | 1 + + man/tuned-profiles-spectrumscale-ece.7 | 2 +- + man/tuned-profiles.7 | 5 ++ + tuned.spec | 1 - + 17 files changed, 83 insertions(+), 88 deletions(-) + delete mode 100644 man/tuned-profiles-cpu-partitioning-powersave.7 + +diff --git a/man/tuned-adm.8 b/man/tuned-adm.8 +index 7b7b9eda..a6875ada 100644 +--- a/man/tuned-adm.8 ++++ b/man/tuned-adm.8 +@@ -124,13 +124,16 @@ Unload tunings. + .BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-sap (7) + .BR tuned\-profiles\-sap\-hana (7) ++.BR tuned\-profiles\-mssql (7) + .BR tuned\-profiles\-oracle (7) + .BR tuned\-profiles\-realtime (7) + .BR tuned\-profiles\-nfv\-host (7) + .BR tuned\-profiles\-nfv\-guest (7) ++.BR tuned\-profiles\-cpu\-partitioning (7) + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-atomic.7 b/man/tuned-profiles-atomic.7 +index b939e3e7..9a3cd239 100644 +--- a/man/tuned-profiles-atomic.7 ++++ b/man/tuned-profiles-atomic.7 +@@ -61,6 +61,7 @@ netfilter connections tracking. + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-compat.7 b/man/tuned-profiles-compat.7 +index aba832f2..f9651529 100644 +--- a/man/tuned-profiles-compat.7 ++++ b/man/tuned-profiles-compat.7 +@@ -91,6 +91,9 @@ CPU governor is set to performance. + .BR tuned\-profiles\-nfv\-host (7) + .BR tuned\-profiles\-nfv\-guest (7) + .BR tuned\-profiles\-cpu\-partitioning (7) ++.BR tuned\-profiles\-postgresql (7) ++.BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-cpu-partitioning-powersave.7 b/man/tuned-profiles-cpu-partitioning-powersave.7 +deleted file mode 100644 +index 5048fa5f..00000000 +--- a/man/tuned-profiles-cpu-partitioning-powersave.7 ++++ /dev/null +@@ -1,67 +0,0 @@ +-.\"/* +-.\" * All rights reserved +-.\" * Copyright (C) 2022 Red Hat, Inc. +-.\" * Authors: Christophe Fontaine +-.\" * +-.\" * This program is free software; you can redistribute it and/or +-.\" * modify it under the terms of the GNU General Public License +-.\" * as published by the Free Software Foundation; either version 2 +-.\" * of the License, or (at your option) any later version. +-.\" * +-.\" * This program is distributed in the hope that it will be useful, +-.\" * but WITHOUT ANY WARRANTY; without even the implied warranty of +-.\" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-.\" * GNU General Public License for more details. +-.\" * +-.\" * You should have received a copy of the GNU General Public License +-.\" * along with this program; if not, write to the Free Software +-.\" * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +-.\" */ +-.\" +-.TH TUNED_PROFILES_CPU_PARTITIONING "7" "22 Nov 2022" "TuneD" +-.SH NAME +-tuned\-profiles\-cpu\-partitioning\-powersave - Partition CPUs into isolated and housekeeping with C-States enabled +- +-.SH DESCRIPTION +-The cpu\-partitioning\-powersave profile is similar to cpu\-partitioning profile, +-but gives more flexibility on the C-States configuration. +- +-.SH CONFIGURATION +-The cpu-partitioning-powersave profile is configured by editing the +-.I /etc/tuned/cpu-partitioning-powersave-variables.conf +-file. There are three configuration options: +- +-.TP +-.B isolated_cores= +-List of CPUs to isolate. This option is mandatory. Any CPUs not in this list +-is automatically considered a housekeeping CPU. +-.TP +-.B no_balance_cores= +-List of CPUs not be considered by the kernel when doing system wide +-process load\-balancing. Usually, this list should be the same as +-isolated_cores=. This option is optional. +-.TP +-.B max_power_state= +-Maximum c-state the cores are allowed to enter. Can be expressed as it's name (C1E) +-or minimum wake-up latency, in micro-seconds. +-This parameter is provided as-is to `force_latency`. +-Default is set to "cstate.name:C1|10" to behave as cpu\-partitioning profile. +- +- +-.SH IMPORTANT NOTES +- +-.IP * +-Same recommendations as tuned\-profiles\-cpu\-partitioning (7) apply. +- +-.SH "FILES" +-.nf +-.I /etc/tuned/cpu\-partitioning\-variables.conf +-.I /etc/tuned/tuned\-main.conf +- +-.SH "SEE ALSO" +-.BR tuned (8) +-.BR tuned\-adm (8) +-.BR tuned\-profiles\-cpu\-partitioning (7) +-.SH AUTHOR +-.nf +-Christophe Fontaine +diff --git a/man/tuned-profiles-cpu-partitioning.7 b/man/tuned-profiles-cpu-partitioning.7 +index 03f1fc20..fbf26c2a 100644 +--- a/man/tuned-profiles-cpu-partitioning.7 ++++ b/man/tuned-profiles-cpu-partitioning.7 +@@ -23,8 +23,8 @@ + tuned\-profiles\-cpu\-partitioning - Partition CPUs into isolated and housekeeping. + + .SH DESCRIPTION +-The cpu\-partitioning profile partitions the system CPUs into isolated and +-housekeeping CPUs. This profile is intended to be used for latency\-sensitive ++The cpu\-partitioning* profiles partition the system CPUs into isolated and ++housekeeping CPUs. These profiles are intended for latency\-sensitive + workloads. + + An isolated CPU incurs reduced jitter and reduced interruptions by the +@@ -42,9 +42,21 @@ run all daemons, shell processes, kernel threads, interruption handlers + and work that can be dispatched from isolated CPUs such as disk I/O, + RCU work, timers, etc. + ++.SH PROFILES ++The following profiles are provided: ++ ++.TP ++.BI "cpu\-partitioning" ++Profile partitioning the system CPUs into isolated and housekeeping CPUs. ++ ++.TP ++.BI "cpu\-partitioning\-powersave" ++Profile similar to the cpu\-partitioning profile, but with more flexibility ++on the C\-states configuration. ++ + .SH CONFIGURATION +-The cpu-partitioning profile is configured by editing the +-.I /etc/tuned/cpu-partitioning-variables.conf ++The cpu\-partitioning profile is configured by editing the ++.I /etc/tuned/cpu\-partitioning\-variables.conf + file. There are two configuration options: + + .TP +@@ -57,26 +69,39 @@ List of CPUs not be considered by the kernel when doing system wide + process load\-balancing. Usually, this list should be the same as + isolated_cores=. This option is optional. + ++.LP ++The cpu\-partitioning\-powersave profile is configured by editing the ++.I /etc/tuned/cpu\-partitioning\-powersave\-variables.conf ++file. It supports the same options as the cpu\-partitioning profile and ++one additional option: ++ ++.TP ++.B max_power_state= ++Maximum c-state the cores are allowed to enter. Can be expressed as it's name (C1E) ++or minimum wake-up latency, in micro-seconds. ++This parameter is provided as-is to `force_latency`. ++Default is set to "cstate.name:C1|10" to behave as cpu\-partitioning profile. ++ + .SH IMPORTANT NOTES + + .IP * 2 +-The system should be rebooted after applying the cpu\-partitioning profile ++The system should be rebooted after applying the cpu\-partitioning* profiles + for the first time or changing its configuration + .IP * +-The cpu\-partitioning profile can be used in bare\-metal and virtual machines ++The cpu\-partitioning* profiles can be used in bare\-metal and virtual machines + .IP * +-When using the cpu\-partitioning profile in bare\-metal, it is strongly ++When using the cpu\-partitioning* profiles in bare\-metal, it is strongly + recommended to "mask" the ksm and ksmtuned services in systemd (if they are + installed). This can be done with the following command: + + # systemctl mask ksm ksmtuned + .IP * +-The cpu\-partitioning profile does not use the kernel's isolcpus= feature ++The cpu\-partitioning* profiles do not use the kernel's isolcpus= feature + .IP * + On a NUMA system, it is recommended to have at least one housekeeping CPU + per NUMA node + .IP * +-The cpu\-partitioning profile does not support isolating the L3 cache. This ++The cpu\-partitioning* profiles do not support isolating the L3 cache. This + means that a housekeeping CPU can still thrash cache entries pertaining to + isolated CPUs. It is recommended to use cache isolation technologies to remedy + this problem, such as Intel's Cache Allocation Technology +@@ -87,24 +112,34 @@ Please, consult the nohz_full documentation in the kernel to learn more + .IP * + The Linux real\-time project has put together a document on the best + practices for writing real\-time applications. Even though the +-cpu\-partitioning profile does not guarantee real\-time response time, much ++cpu\-partitioning* profiles do not guarantee real\-time response time, much + of the techniques for writing real\-time applications also apply for +-applications intended to run under the cpu\-partitioning profile. Please, ++applications intended to run under the cpu\-partitioning* profiles. Please, + refer to this document at + .I https://rt.wiki.kernel.org + + .SH "FILES" + .nf + .I /etc/tuned/cpu\-partitioning\-variables.conf ++.I /etc/tuned/cpu\-partitioning\-powersave\-variables.conf + .I /etc/tuned/tuned\-main.conf + + .SH "SEE ALSO" + .BR tuned (8) + .BR tuned\-adm (8) + .BR tuned\-profiles (7) ++.BR tuned\-profiles\-atomic (7) ++.BR tuned\-profiles\-sap (7) ++.BR tuned\-profiles\-sap\-hana (7) ++.BR tuned\-profiles\-mssql (7) ++.BR tuned\-profiles\-oracle (7) + .BR tuned\-profiles\-realtime (7) + .BR tuned\-profiles\-nfv\-host (7) + .BR tuned\-profiles\-nfv\-guest (7) ++.BR tuned\-profiles\-compat (7) ++.BR tuned\-profiles\-postgresql (7) ++.BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-mssql.7 b/man/tuned-profiles-mssql.7 +index e56edf02..b2552f36 100644 +--- a/man/tuned-profiles-mssql.7 ++++ b/man/tuned-profiles-mssql.7 +@@ -23,7 +23,14 @@ + tuned\-profiles\-mssql - description of profile provided for the MS SQL Server + + .SH DESCRIPTION +-This profile is provided for the MS SQL Server. It's based on the ++The profile is provided for the MS SQL Server. ++ ++.SH PROFILES ++The following profile is provided: ++ ++.TP ++.BI "mssql" ++Profile optimized for the MS SQL Server. It's based on the + throughput-performance profile. + + .SH "FILES" +@@ -35,10 +42,10 @@ throughput-performance profile. + .BR tuned (8) + .BR tuned\-adm (8) + .BR tuned\-profiles (7) ++.BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-sap (7) + .BR tuned\-profiles\-sap\-hana (7) + .BR tuned\-profiles\-oracle (7) +-.BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-realtime (7) + .BR tuned\-profiles\-nfv\-host (7) + .BR tuned\-profiles\-nfv\-guest (7) +@@ -46,6 +53,7 @@ throughput-performance profile. + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-nfv-guest.7 b/man/tuned-profiles-nfv-guest.7 +index 6706867b..633ce2e3 100644 +--- a/man/tuned-profiles-nfv-guest.7 ++++ b/man/tuned-profiles-nfv-guest.7 +@@ -52,6 +52,7 @@ Profile optimized for virtual guests based on realtime profile. + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-nfv-host.7 b/man/tuned-profiles-nfv-host.7 +index d483dc26..9a18f3e2 100644 +--- a/man/tuned-profiles-nfv-host.7 ++++ b/man/tuned-profiles-nfv-host.7 +@@ -52,6 +52,7 @@ Profile optimized for virtual hosts based on realtime profile. + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-openshift.7 b/man/tuned-profiles-openshift.7 +index 4497826c..22fe967c 100644 +--- a/man/tuned-profiles-openshift.7 ++++ b/man/tuned-profiles-openshift.7 +@@ -49,17 +49,18 @@ Profile optimized for general workloads on OpenShift worker nodes. + .BR tuned (8) + .BR tuned\-adm (8) + .BR tuned\-profiles (7) ++.BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-sap (7) + .BR tuned\-profiles\-sap\-hana (7) +-.BR tuned\-profiles\-oracle (7) + .BR tuned\-profiles\-mssql (7) +-.BR tuned\-profiles\-atomic (7) ++.BR tuned\-profiles\-oracle (7) + .BR tuned\-profiles\-realtime (7) + .BR tuned\-profiles\-nfv\-host (7) + .BR tuned\-profiles\-nfv\-guest (7) + .BR tuned\-profiles\-cpu\-partitioning (7) + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-oracle.7 b/man/tuned-profiles-oracle.7 +index 94a42a47..5df6666d 100644 +--- a/man/tuned-profiles-oracle.7 ++++ b/man/tuned-profiles-oracle.7 +@@ -43,10 +43,10 @@ performance related kernel parameters. + .BR tuned (8) + .BR tuned\-adm (8) + .BR tuned\-profiles (7) ++.BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-sap (7) + .BR tuned\-profiles\-sap\-hana (7) + .BR tuned\-profiles\-mssql (7) +-.BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-realtime (7) + .BR tuned\-profiles\-nfv\-host (7) + .BR tuned\-profiles\-nfv\-guest (7) +@@ -54,6 +54,7 @@ performance related kernel parameters. + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-postgresql.7 b/man/tuned-profiles-postgresql.7 +index 7e24ee1f..7af17441 100644 +--- a/man/tuned-profiles-postgresql.7 ++++ b/man/tuned-profiles-postgresql.7 +@@ -45,17 +45,18 @@ performance related kernel parameters. + .BR tuned (8) + .BR tuned\-adm (8) + .BR tuned\-profiles (7) ++.BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-sap (7) + .BR tuned\-profiles\-sap\-hana (7) +-.BR tuned\-profiles\-oracle (7) + .BR tuned\-profiles\-mssql (7) +-.BR tuned\-profiles\-atomic (7) ++.BR tuned\-profiles\-oracle (7) + .BR tuned\-profiles\-realtime (7) + .BR tuned\-profiles\-nfv\-host (7) + .BR tuned\-profiles\-nfv\-guest (7) + .BR tuned\-profiles\-cpu\-partitioning (7) + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-realtime.7 b/man/tuned-profiles-realtime.7 +index 6c27bfb7..8385c64b 100644 +--- a/man/tuned-profiles-realtime.7 ++++ b/man/tuned-profiles-realtime.7 +@@ -52,6 +52,7 @@ Profile optimized for realtime. + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-sap-hana.7 b/man/tuned-profiles-sap-hana.7 +index 9fa250d5..c490ec75 100644 +--- a/man/tuned-profiles-sap-hana.7 ++++ b/man/tuned-profiles-sap-hana.7 +@@ -53,10 +53,11 @@ semaphores. + .BR tuned\-profiles\-realtime (7) + .BR tuned\-profiles\-nfv\-host (7) + .BR tuned\-profiles\-nfv\-guest (7) +-.BR tuned\-profiles\-cpu-partitioning (7) ++.BR tuned\-profiles\-cpu\-partitioning (7) + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-sap.7 b/man/tuned-profiles-sap.7 +index 64111995..35303f44 100644 +--- a/man/tuned-profiles-sap.7 ++++ b/man/tuned-profiles-sap.7 +@@ -55,6 +55,7 @@ areas a process may have. + .BR tuned\-profiles\-compat (7) + .BR tuned\-profiles\-postgresql (7) + .BR tuned\-profiles\-openshift (7) ++.BR tuned\-profiles\-spectrumscale\-ece (7) + .SH AUTHOR + .nf + Jaroslav Škarvada +diff --git a/man/tuned-profiles-spectrumscale-ece.7 b/man/tuned-profiles-spectrumscale-ece.7 +index 6594ea59..57005276 100644 +--- a/man/tuned-profiles-spectrumscale-ece.7 ++++ b/man/tuned-profiles-spectrumscale-ece.7 +@@ -43,10 +43,10 @@ performance related kernel parameters. + .BR tuned (8) + .BR tuned\-adm (8) + .BR tuned\-profiles (7) ++.BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-sap (7) + .BR tuned\-profiles\-sap\-hana (7) + .BR tuned\-profiles\-mssql (7) +-.BR tuned\-profiles\-atomic (7) + .BR tuned\-profiles\-oracle (7) + .BR tuned\-profiles\-realtime (7) + .BR tuned\-profiles\-nfv\-host (7) +diff --git a/man/tuned-profiles.7 b/man/tuned-profiles.7 +index 8b3a3444..10cad7bd 100644 +--- a/man/tuned-profiles.7 ++++ b/man/tuned-profiles.7 +@@ -136,6 +136,11 @@ This profile is intended to be used as an overlay on other + profiles (e.g. throughput\-performance profile), example: + .B tuned\-adm profile throughput\-performance optimize\-serial\-console + ++.TP ++.BI "aws" ++Profile optimized for AWS EC2 instances. It is based on the ++throughput\-performance profile. ++ + .SH "FILES" + .nf + .I /etc/tuned/* +diff --git a/tuned.spec b/tuned.spec +index a1350a38..51f258c3 100644 +--- a/tuned.spec ++++ b/tuned.spec +@@ -530,7 +530,6 @@ fi + %{_prefix}/lib/tuned/cpu-partitioning + %{_prefix}/lib/tuned/cpu-partitioning-powersave + %{_mandir}/man7/tuned-profiles-cpu-partitioning.7* +-%{_mandir}/man7/tuned-profiles-cpu-partitioning-powersave.7* + + %files profiles-spectrumscale + %{_prefix}/lib/tuned/spectrumscale-ece diff --git a/SOURCES/tuned-2.20-rc1-sighup-fix.patch b/SOURCES/tuned-2.20-rc1-sighup-fix.patch new file mode 100644 index 0000000..0659fd0 --- /dev/null +++ b/SOURCES/tuned-2.20-rc1-sighup-fix.patch @@ -0,0 +1,39 @@ +From d67b619dcddb5ed04d0ec69a62ce555a40896a50 Mon Sep 17 00:00:00 2001 +From: Jan Zerdik +Date: Thu, 9 Feb 2023 12:13:06 +0100 +Subject: [PATCH] Fixing no _evlist attribute when run without daemon + +Relates to: rhbz#2080227 + +Signed-off-by: Jan Zerdik +--- + tuned/plugins/plugin_scheduler.py | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/tuned/plugins/plugin_scheduler.py b/tuned/plugins/plugin_scheduler.py +index 6cbb77b..10ff4e7 100644 +--- a/tuned/plugins/plugin_scheduler.py ++++ b/tuned/plugins/plugin_scheduler.py +@@ -446,6 +446,7 @@ class SchedulerPlugin(base.Plugin): + command_name = "scheduler") + self._irq_storage_key = self._storage_key( + command_name = "irq") ++ self._evlist = None + try: + self._scheduler_utils = SchedulerUtils() + except AttributeError: +@@ -526,8 +527,9 @@ class SchedulerPlugin(base.Plugin): + instance._runtime_tuning = False + + def _instance_cleanup(self, instance): +- for fd in instance._evlist.get_pollfd(): +- os.close(fd.name) ++ if self._evlist: ++ for fd in instance._evlist.get_pollfd(): ++ os.close(fd.name) + + @classmethod + def _get_config_options(cls): +-- +2.39.1 + diff --git a/SOURCES/tuned-2.20-rc1-switch-profile-improve-error.patch b/SOURCES/tuned-2.20-rc1-switch-profile-improve-error.patch new file mode 100644 index 0000000..5702166 --- /dev/null +++ b/SOURCES/tuned-2.20-rc1-switch-profile-improve-error.patch @@ -0,0 +1,31 @@ +From e4bbbf018fa21f499462bd32abd46fdc62da1981 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= +Date: Wed, 15 Feb 2023 21:33:24 +0100 +Subject: [PATCH] tuned-adm: better error message for unauthorized + switch_profile +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As a sideeffect of 08b348b7a4b1a5d94bea160fecea4a2759b01a9d we got +strange error messages for unauthorized switch_profile requests. This +commit tries to improve it. + +Signed-off-by: Jaroslav Škarvada +--- + tuned/admin/admin.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tuned/admin/admin.py b/tuned/admin/admin.py +index 473880d7..f8f4d0bb 100644 +--- a/tuned/admin/admin.py ++++ b/tuned/admin/admin.py +@@ -249,7 +249,7 @@ def _profile_print_status(self, ret, msg): + self._error("Cannot enable the tuning.") + ret = False + else: +- self._error(msg) ++ self._error("Unable to switch profile: %s" % msg) + return ret + + def _action_dbus_wait_profile(self, profile_name): diff --git a/SOURCES/tuned-2.20-rc1-sysctls-reapply-less-verbose.patch b/SOURCES/tuned-2.20-rc1-sysctls-reapply-less-verbose.patch new file mode 100644 index 0000000..3212d61 --- /dev/null +++ b/SOURCES/tuned-2.20-rc1-sysctls-reapply-less-verbose.patch @@ -0,0 +1,32 @@ +From 676ddcedfaecc57e2dcfef73dd8f189f03126ac1 Mon Sep 17 00:00:00 2001 +From: Jiri Mencak +Date: Fri, 10 Feb 2023 14:57:24 +0100 +Subject: [PATCH] Report reapplied sysctls only on different values + +PR492 introduced reporting on reapplied sysctls. While it is a useful +functionality to get notified about potential conflicts between +filesystem-level and TuneD-level settings, it can generate a lot of +noise when these settings are equal. Report reapplied sysctls only when +filesystem-level and TuneD-level settings differ. + +Signed-off-by: Jiri Mencak +--- + tuned/plugins/plugin_sysctl.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tuned/plugins/plugin_sysctl.py b/tuned/plugins/plugin_sysctl.py +index c7a5d03..5e4e800 100644 +--- a/tuned/plugins/plugin_sysctl.py ++++ b/tuned/plugins/plugin_sysctl.py +@@ -151,7 +151,7 @@ def _apply_sysctl_config_line(path, lineno, line, instance_sysctl): + % (path, lineno)) + return + value = value.strip() +- if option in instance_sysctl: ++ if option in instance_sysctl and instance_sysctl[option] != value: + log.info("Overriding sysctl parameter '%s' from '%s' to '%s'" + % (option, instance_sysctl[option], value)) + +-- +2.39.1 + diff --git a/SOURCES/tuned-2.20.0-rhel-8-profiles.patch b/SOURCES/tuned-2.20.0-rhel-8-profiles.patch new file mode 100644 index 0000000..1a8a759 --- /dev/null +++ b/SOURCES/tuned-2.20.0-rhel-8-profiles.patch @@ -0,0 +1,83 @@ +diff --git a/profiles/latency-performance/tuned.conf b/profiles/latency-performance/tuned.conf +index d200b5c..877229f 100644 +--- a/profiles/latency-performance/tuned.conf ++++ b/profiles/latency-performance/tuned.conf +@@ -32,3 +32,16 @@ vm.dirty_background_ratio=3 + # 100 tells the kernel to aggressively swap processes out of physical memory + # and move them to swap cache + vm.swappiness=10 ++ ++[scheduler] ++# ktune sysctl settings for rhel6 servers, maximizing i/o throughput ++# ++# Minimal preemption granularity for CPU-bound tasks: ++# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) ++sched_min_granularity_ns = 3000000 ++sched_wakeup_granularity_ns = 4000000 ++ ++# The total time the scheduler will consider a migrated process ++# "cache hot" and thus less likely to be re-migrated ++# (system default is 500000, i.e. 0.5 ms) ++sched_migration_cost_ns = 5000000 +diff --git a/profiles/sap-hana/tuned.conf b/profiles/sap-hana/tuned.conf +index aeecf53..8dcee57 100644 +--- a/profiles/sap-hana/tuned.conf ++++ b/profiles/sap-hana/tuned.conf +@@ -20,3 +20,7 @@ kernel.numa_balancing = 0 + vm.dirty_ratio = 40 + vm.dirty_background_ratio = 10 + vm.swappiness = 10 ++ ++[scheduler] ++sched_min_granularity_ns = 3000000 ++sched_wakeup_granularity_ns = 4000000 +diff --git a/profiles/throughput-performance/tuned.conf b/profiles/throughput-performance/tuned.conf +index 62a7322..7c55fb2 100644 +--- a/profiles/throughput-performance/tuned.conf ++++ b/profiles/throughput-performance/tuned.conf +@@ -63,9 +63,31 @@ vm.swappiness=10 + # on older kernels + net.core.somaxconn=>2048 + ++[scheduler] ++# ktune sysctl settings for rhel6 servers, maximizing i/o throughput ++# ++# Minimal preemption granularity for CPU-bound tasks: ++# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) ++sched_min_granularity_ns = 10000000 ++ ++# SCHED_OTHER wake-up granularity. ++# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) ++# ++# This option delays the preemption effects of decoupled workloads ++# and reduces their over-scheduling. Synchronous workloads will still ++# have immediate wakeup/sleep latencies. ++sched_wakeup_granularity_ns = 15000000 ++ + # Marvell ThunderX + [sysctl.thunderx] + type=sysctl + uname_regex=aarch64 + cpuinfo_regex=${thunderx_cpuinfo_regex} + kernel.numa_balancing=0 ++ ++# AMD ++[scheduler.amd] ++type=scheduler ++uname_regex=x86_64 ++cpuinfo_regex=${amd_cpuinfo_regex} ++sched_migration_cost_ns=5000000 +diff --git a/profiles/virtual-host/tuned.conf b/profiles/virtual-host/tuned.conf +index 5301d9f..74a5fb0 100644 +--- a/profiles/virtual-host/tuned.conf ++++ b/profiles/virtual-host/tuned.conf +@@ -14,3 +14,9 @@ vm.dirty_background_ratio = 5 + [cpu] + # Setting C3 state sleep mode/power savings + force_latency=cstate.id_no_zero:3|70 ++ ++[scheduler] ++# The total time the scheduler will consider a migrated process ++# "cache hot" and thus less likely to be re-migrated ++# (system default is 500000, i.e. 0.5 ms) ++sched_migration_cost_ns = 5000000 diff --git a/SPECS/tuned.spec b/SPECS/tuned.spec index ebaf2e9..353fa91 100644 --- a/SPECS/tuned.spec +++ b/SPECS/tuned.spec @@ -26,16 +26,16 @@ %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.19.0 -Release: 1%{?prerel1}%{?dist} +Version: 2.20.0 +Release: 0.2%{?prerel1}%{?dist} License: GPLv2+ Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz # RHEL-8 specific recommend.conf: @@ -94,9 +94,21 @@ Requires: python3-syspurpose %endif %endif # Revert upstream profiles changes which have not been approved for RHEL-8 (yet) -Patch0: tuned-2.18.0-rhel-8-profiles.patch +Patch0: tuned-2.20.0-rhel-8-profiles.patch # Revert no balancing cores to use SD_LOAD_BALANCE (see rhbz#1874596 for details) Patch1: tuned-2.18.0-sd-load-balance.patch +# https://github.com/redhat-performance/tuned/pull/499 +Patch2: tuned-2.20-rc1-gtk-is-active-fix.patch +# https://github.com/redhat-performance/tuned/pull/502 +Patch3: tuned-2.20-rc1-log-typos-fix.patch +# https://github.com/redhat-performance/tuned/pull/506 +Patch4: tuned-2.20-rc1-man-fix.patch +# https://github.com/redhat-performance/tuned/pull/500 +Patch5: tuned-2.20-rc1-sighup-fix.patch +# https://github.com/redhat-performance/tuned/pull/507 +Patch6: tuned-2.20-rc1-switch-profile-improve-error.patch +# https://github.com/redhat-performance/tuned/pull/501 +Patch7: tuned-2.20-rc1-sysctls-reapply-less-verbose.patch %description The tuned package contains a daemon that tunes system settings dynamically. @@ -205,7 +217,6 @@ Summary: Additional tuned profile(s) targeted to Network Function Virtualization Requires: %{name} = %{version} Requires: %{name}-profiles-realtime = %{version} Requires: tuna -Requires: nmap-ncat %description profiles-nfv-host Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host. @@ -401,6 +412,7 @@ fi %exclude %{_sysconfdir}/tuned/realtime-virtual-guest-variables.conf %exclude %{_sysconfdir}/tuned/realtime-virtual-host-variables.conf %exclude %{_sysconfdir}/tuned/cpu-partitioning-variables.conf +%exclude %{_sysconfdir}/tuned/cpu-partitioning-powersave-variables.conf %exclude %{_prefix}/lib/tuned/default %exclude %{_prefix}/lib/tuned/desktop-powersave %exclude %{_prefix}/lib/tuned/laptop-ac-powersave @@ -418,6 +430,7 @@ fi %exclude %{_prefix}/lib/tuned/realtime-virtual-guest %exclude %{_prefix}/lib/tuned/realtime-virtual-host %exclude %{_prefix}/lib/tuned/cpu-partitioning +%exclude %{_prefix}/lib/tuned/cpu-partitioning-powersave %exclude %{_prefix}/lib/tuned/spectrumscale-ece %exclude %{_prefix}/lib/tuned/postgresql %exclude %{_prefix}/lib/tuned/openshift @@ -519,7 +532,9 @@ fi %files profiles-cpu-partitioning %config(noreplace) %{_sysconfdir}/tuned/cpu-partitioning-variables.conf +%config(noreplace) %{_sysconfdir}/tuned/cpu-partitioning-powersave-variables.conf %{_prefix}/lib/tuned/cpu-partitioning +%{_prefix}/lib/tuned/cpu-partitioning-powersave %{_mandir}/man7/tuned-profiles-cpu-partitioning.7* %files profiles-spectrumscale @@ -547,6 +562,33 @@ fi %{_mandir}/man7/tuned-profiles-openshift.7* %changelog +* Wed Feb 15 2023 Jaroslav Škarvada - 2.20.0-0.2.rc1 +- post RC.1 fixes + related: rhbz#2133814 +- fixed possible traceback on SIGHUP + +* Wed Feb 8 2023 Jaroslav Škarvada - 2.20.0-0.1.rc1 +- new release + - rebased tuned to latest upstream + resolves: rhbz#2133814 + - systemd: relax polkit requirement + resolves: rhbz#2065591 + - sysvinit: fixed path + - plugin_cpu: added support for pm_qos_resume_latency_us + - do not exit on duplicate config lines + resolves: rhbz#2071418 + - profiles: new cpu-partitioning-powersave profile + - profiles: new profile for AWS EC2 + - API: add support for moving devices between instances + - D-Bus: send tracebacks through D-Bus only in debug mode + - Makefile: added fix for python-3.12 + - throughput-performance: set net.core.somaxconn to at least 2048 + resolves: rhbz#1998310 + - plugin_scheduler: do not leak FDs from the perf + resolves: rhbz#2080227 + - plugin_cpu: added support for intel_pstate scaling driver + - added support for the API access through the Unix Domain Socket + * Fri Aug 19 2022 Jaroslav Škarvada - 2.19.0-1 - new release - rebased tuned to latest upstream