diff --git a/.gitignore b/.gitignore
index 5647b3a..7d4ec36 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/tuned-2.20.0-rc.1.tar.gz
+SOURCES/tuned-2.20.0.tar.gz
diff --git a/.tuned.metadata b/.tuned.metadata
index 43539e8..0e43617 100644
--- a/.tuned.metadata
+++ b/.tuned.metadata
@@ -1 +1 @@
-0f08a63faa36c21753240c0f8e50765762edc249 SOURCES/tuned-2.20.0-rc.1.tar.gz
+6a6c9a91ab1e556b884965432895cdf64ebd6016 SOURCES/tuned-2.20.0.tar.gz
diff --git a/SOURCES/tuned-2.20-rc1-gtk-is-active-fix.patch b/SOURCES/tuned-2.20-rc1-gtk-is-active-fix.patch
deleted file mode 100644
index 2b39c24..0000000
--- a/SOURCES/tuned-2.20-rc1-gtk-is-active-fix.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From c503d3ec5022de8d8aff66e4ac2fabe73bf77a9d Mon Sep 17 00:00:00 2001
-From: lilinjie <lilinjie@uniontech.com>
-Date: Thu, 9 Feb 2023 10:15:51 +0800
-Subject: [PATCH] fix 'is_active' does not work
-
-Signed-off-by: lilinjie <lilinjie@uniontech.com>
----
- 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
deleted file mode 100644
index fb92206..0000000
--- a/SOURCES/tuned-2.20-rc1-log-typos-fix.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 0b96f270b8c97b4a4fc0ef85a08363a6a9d76bd6 Mon Sep 17 00:00:00 2001
-From: liuzhilin <liuzhilin@uniontech.com>
-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
deleted file mode 100644
index 82e14cf..0000000
--- a/SOURCES/tuned-2.20-rc1-man-fix.patch
+++ /dev/null
@@ -1,494 +0,0 @@
-From 207ae6f84b9136fe43bdc7bbff39bc195a86fed0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
----
- 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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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=<CPU\-LIST>
--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=<CPU\-LIST>
--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=<MAX_CSTATE>
--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 <cfontain@redhat.com>
-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=<MAX_CSTATE>
-+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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
-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
deleted file mode 100644
index 0659fd0..0000000
--- a/SOURCES/tuned-2.20-rc1-sighup-fix.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From d67b619dcddb5ed04d0ec69a62ce555a40896a50 Mon Sep 17 00:00:00 2001
-From: Jan Zerdik <jzerdik@redhat.com>
-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 <jzerdik@redhat.com>
----
- 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
deleted file mode 100644
index 5702166..0000000
--- a/SOURCES/tuned-2.20-rc1-switch-profile-improve-error.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From e4bbbf018fa21f499462bd32abd46fdc62da1981 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
-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 <jskarvad@redhat.com>
----
- 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
deleted file mode 100644
index 3212d61..0000000
--- a/SOURCES/tuned-2.20-rc1-sysctls-reapply-less-verbose.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 676ddcedfaecc57e2dcfef73dd8f189f03126ac1 Mon Sep 17 00:00:00 2001
-From: Jiri Mencak <jmencak@users.noreply.github.com>
-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 <jmencak@users.noreply.github.com>
----
- 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/SPECS/tuned.spec b/SPECS/tuned.spec
index 353fa91..0aceea2 100644
--- a/SPECS/tuned.spec
+++ b/SPECS/tuned.spec
@@ -26,8 +26,8 @@
 %endif
 %endif
 
-%global prerelease rc
-%global prereleasenum 1
+#%%global prerelease rc
+#%%global prereleasenum 1
 
 %global prerel1 %{?prerelease:.%{prerelease}%{prereleasenum}}
 %global prerel2 %{?prerelease:-%{prerelease}.%{prereleasenum}}
@@ -35,7 +35,7 @@
 Summary: A dynamic adaptive system tuning daemon
 Name: tuned
 Version: 2.20.0
-Release: 0.2%{?prerel1}%{?dist}
+Release: 1%{?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:
@@ -97,18 +97,6 @@ Requires: python3-syspurpose
 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.
@@ -562,6 +550,11 @@ fi
 %{_mandir}/man7/tuned-profiles-openshift.7*
 
 %changelog
+* Fri Feb 17 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 2.20.0-1
+- new release
+  - rebased tuned to latest upstream
+    related: rhbz#2133814
+
 * Wed Feb 15 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 2.20.0-0.2.rc1
 - post RC.1 fixes
   related: rhbz#2133814