diff --git a/.gitignore b/.gitignore
index d391172..7d4ec36 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/tuned-2.19.0.tar.gz
+SOURCES/tuned-2.20.0.tar.gz
diff --git a/.tuned.metadata b/.tuned.metadata
index f0a17b8..0e43617 100644
--- a/.tuned.metadata
+++ b/.tuned.metadata
@@ -1 +1 @@
-369f0a4af9f03e6c1a5b137509b792a63aadd688 SOURCES/tuned-2.19.0.tar.gz
+6a6c9a91ab1e556b884965432895cdf64ebd6016 SOURCES/tuned-2.20.0.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.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..0aceea2 100644
--- a/SPECS/tuned.spec
+++ b/SPECS/tuned.spec
@@ -34,7 +34,7 @@
 
 Summary: A dynamic adaptive system tuning daemon
 Name: tuned
-Version: 2.19.0
+Version: 2.20.0
 Release: 1%{?prerel1}%{?dist}
 License: GPLv2+
 Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz
@@ -94,7 +94,7 @@ 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
 
@@ -205,7 +205,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 +400,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 +418,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 +520,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 +550,38 @@ 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
+- fixed possible traceback on SIGHUP
+
+* Wed Feb  8 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 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 <jskarvad@redhat.com> - 2.19.0-1
 - new release
   - rebased tuned to latest upstream