diff --git a/.gitignore b/.gitignore
index 0472962..f2fcc56 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/tuned-2.13.0.tar.gz
+SOURCES/tuned-2.14.0.tar.gz
diff --git a/.tuned.metadata b/.tuned.metadata
index 55fb87f..0d3e106 100644
--- a/.tuned.metadata
+++ b/.tuned.metadata
@@ -1 +1 @@
-d3087cc836c493fb6da69326c36ed5ee25ca67bd SOURCES/tuned-2.13.0.tar.gz
+53140aba44d956fac19c37c2c0052835c1fdd7e9 SOURCES/tuned-2.14.0.tar.gz
diff --git a/SOURCES/tuned-2.13.0-add-accelerator-performance-profile.patch b/SOURCES/tuned-2.13.0-add-accelerator-performance-profile.patch
deleted file mode 100644
index 751fde9..0000000
--- a/SOURCES/tuned-2.13.0-add-accelerator-performance-profile.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 9535680992da4509b22ba0bc9e3da58a21248e71 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= <olysonek@redhat.com>
-Date: Thu, 6 Feb 2020 17:39:22 +0100
-Subject: [PATCH] Add accelerator-performance profile
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Resolves: rhbz#1795604
-
-Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
----
- man/tuned-profiles.7                        |  6 +++
- profiles/accelerator-performance/tuned.conf | 60 +++++++++++++++++++++
- 2 files changed, 66 insertions(+)
- create mode 100644 profiles/accelerator-performance/tuned.conf
-
-diff --git a/man/tuned-profiles.7 b/man/tuned-profiles.7
-index 60a5dc9..aaf140b 100644
---- a/man/tuned-profiles.7
-+++ b/man/tuned-profiles.7
-@@ -77,6 +77,12 @@ mechanisms and enables sysctl settings that improve the throughput performance
- of your disk and network IO. CPU governor is set to performance and CPU energy
- performance bias is set to performance. Disk readahead values are increased.
- 
-+.TP
-+.BI "accelerator\-performance"
-+This profile contains the same tuning as the throughput\-performance profile.
-+Additionally, it locks the CPU to low C states so that the latency is less than
-+100us. This improves the performance of certain accelerators, such as GPUs.
-+
- .TP
- .BI "latency\-performance"
- Profile for low latency performance tuning. Disables power saving mechanisms.
-diff --git a/profiles/accelerator-performance/tuned.conf b/profiles/accelerator-performance/tuned.conf
-new file mode 100644
-index 0000000..8068b3b
---- /dev/null
-+++ b/profiles/accelerator-performance/tuned.conf
-@@ -0,0 +1,60 @@
-+#
-+# tuned configuration
-+#
-+
-+[main]
-+summary=Throughput performance based tuning with disabled higher latency STOP states
-+
-+[cpu]
-+governor=performance
-+energy_perf_bias=performance
-+min_perf_pct=100
-+force_latency=99
-+
-+[disk]
-+readahead=>4096
-+
-+[sysctl]
-+# 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)
-+kernel.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.
-+kernel.sched_wakeup_granularity_ns = 15000000
-+
-+# If a workload mostly uses anonymous memory and it hits this limit, the entire
-+# working set is buffered for I/O, and any more write buffering would require
-+# swapping, so it's time to throttle writes until I/O can catch up.  Workloads
-+# that mostly use file mappings may be able to use even higher values.
-+#
-+# The generator of dirty data starts writeback at this percentage (system default
-+# is 20%)
-+vm.dirty_ratio = 40
-+
-+# Start background writeback (via writeback threads) at this percentage (system
-+# default is 10%)
-+vm.dirty_background_ratio = 10
-+
-+# PID allocation wrap value.  When the kernel's next PID value
-+# reaches this value, it wraps back to a minimum PID value.
-+# PIDs of value pid_max or larger are not allocated.
-+#
-+# A suggested value for pid_max is 1024 * <# of cpu cores/threads in system>
-+# e.g., a box with 32 cpus, the default of 32768 is reasonable, for 64 cpus,
-+# 65536, for 4096 cpus, 4194304 (which is the upper limit possible).
-+#kernel.pid_max = 65536
-+
-+# The swappiness parameter controls the tendency of the kernel to move
-+# processes out of physical memory and onto the swap disk.
-+# 0 tells the kernel to avoid swapping processes out of physical memory
-+# for as long as possible
-+# 100 tells the kernel to aggressively swap processes out of physical memory
-+# and move them to swap cache
-+vm.swappiness=10
--- 
-2.24.1
-
diff --git a/SOURCES/tuned-2.13.0-define-variables-before-use.patch b/SOURCES/tuned-2.13.0-define-variables-before-use.patch
deleted file mode 100644
index 9663311..0000000
--- a/SOURCES/tuned-2.13.0-define-variables-before-use.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 0eb0c6bc7f48afe2f8c1f46ee7c9e7bb08db4163 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= <olysonek@redhat.com>
-Date: Mon, 6 Jan 2020 15:50:06 +0100
-Subject: [PATCH] profiles: Make sure variables are defined before use
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Make sure the isolated_cores and no_balance_cores variables are
-defined before any of the variables that use them are defined. This
-enforces a certain ordering of variable expansions so that child
-profiles can set the variables directly in the profile (tuned.conf),
-e.g.:
-
-[main]
-include=cpu-partitioning
-
-[variables]
-isolated_cores=3
-
-Resolves: rhbz#1781664
-
-Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
----
- profiles/cpu-partitioning/tuned.conf | 8 ++++++++
- profiles/realtime/tuned.conf         | 4 ++++
- 2 files changed, 12 insertions(+)
-
-diff --git a/profiles/cpu-partitioning/tuned.conf b/profiles/cpu-partitioning/tuned.conf
-index 1821b74..5697750 100644
---- a/profiles/cpu-partitioning/tuned.conf
-+++ b/profiles/cpu-partitioning/tuned.conf
-@@ -10,6 +10,10 @@ include=network-latency
- include=/etc/tuned/cpu-partitioning-variables.conf
- 
- isolated_cores_assert_check = \\${isolated_cores}
-+# Make sure isolated_cores is defined before any of the variables that
-+# use it (such as assert1) are defined, so that child profiles can set
-+# isolated_cores directly in the profile (tuned.conf)
-+isolated_cores = ${isolated_cores}
- # Fail if isolated_cores are not set
- assert1=${f:assertion_non_equal:isolated_cores are set:${isolated_cores}:${isolated_cores_assert_check}}
- 
-@@ -22,6 +26,10 @@ not_isolated_cores_expanded=${f:cpulist_invert:${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}}
-+# Make sure no_balance_cores is defined before
-+# no_balance_cores_expanded is defined, so that child profiles can set
-+# no_balance_cores directly in the profile (tuned.conf)
-+no_balance_cores=${no_balance_cores}
- no_balance_cores_expanded=${f:cpulist_unpack:${no_balance_cores}}
- 
- # Fail if isolated_cores contains CPUs which are not online
-diff --git a/profiles/realtime/tuned.conf b/profiles/realtime/tuned.conf
-index 6294d0c..6f5c5b1 100644
---- a/profiles/realtime/tuned.conf
-+++ b/profiles/realtime/tuned.conf
-@@ -12,6 +12,10 @@ include = network-latency
- include = /etc/tuned/realtime-variables.conf
- 
- isolated_cores_assert_check = \\${isolated_cores}
-+# Make sure isolated_cores is defined before any of the variables that
-+# use it (such as assert1) are defined, so that child profiles can set
-+# isolated_cores directly in the profile (tuned.conf)
-+isolated_cores = ${isolated_cores}
- # Fail if isolated_cores are not set
- assert1=${f:assertion_non_equal:isolated_cores are set:${isolated_cores}:${isolated_cores_assert_check}}
- 
--- 
-2.21.1
-
diff --git a/SOURCES/tuned-2.13.0-realtime-cond-support-for-managed_irq.patch b/SOURCES/tuned-2.13.0-realtime-cond-support-for-managed_irq.patch
deleted file mode 100644
index ab6b06c..0000000
--- a/SOURCES/tuned-2.13.0-realtime-cond-support-for-managed_irq.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 5ed61ce394bad089f86a0be4b911cd93eddeb1b3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
-Date: Fri, 20 Mar 2020 18:02:46 +0100
-Subject: [PATCH] realtime: added conditional support for managed_irq
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Also added regex_search_ternary built-in function.
-
-It takes arguments in the following form:
-  STR1, REGEX, STR2, STR3
-
-If REGEX matches STR1 (re.search is used), STR2 is returned,
-if it doesn't match STR3 is returned.
-
-Example:
-[variables]
-foo=Y
-bar=${f:regex_search_ternary:${foo}:\b[y,Y,1,t,T]\b:foo:bar}
-
-It will result in the 'foo' string stored in the '${bar}' variable.
-
-Resolves: rhbz#1797025
-
-Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
----
- profiles/realtime/realtime-variables.conf     |  7 +++++++
- profiles/realtime/tuned.conf                  |  5 ++++-
- .../function_regex_search_ternary.py          | 21 +++++++++++++++++++
- 3 files changed, 32 insertions(+), 1 deletion(-)
- create mode 100644 tuned/profiles/functions/function_regex_search_ternary.py
-
-diff --git a/profiles/realtime/realtime-variables.conf b/profiles/realtime/realtime-variables.conf
-index b91e5f3..c2da595 100644
---- a/profiles/realtime/realtime-variables.conf
-+++ b/profiles/realtime/realtime-variables.conf
-@@ -2,3 +2,10 @@
- # isolated_cores=2,4-7
- # isolated_cores=2-23
- #
-+#
-+# Uncomment the 'isolate_managed_irq=Y' bellow if you want to move kernel
-+# managed IRQs out of isolated cores. Note that this requires kernel
-+# support. Please only specify this parameter if you are sure that the
-+# kernel supports it.
-+#
-+# isolate_managed_irq=Y
-diff --git a/profiles/realtime/tuned.conf b/profiles/realtime/tuned.conf
-index 6f5c5b1..a22ffdd 100644
---- a/profiles/realtime/tuned.conf
-+++ b/profiles/realtime/tuned.conf
-@@ -28,6 +28,9 @@ isolated_cores_online_expanded=${f:cpulist_online:${isolated_cores}}
- # Fail if isolated_cores contains CPUs which are not online
- assert2=${f:assertion:isolated_cores contains online CPU(s):${isolated_cores_expanded}:${isolated_cores_online_expanded}}
- 
-+# Assembly managed_irq
-+managed_irq=${f:regex_search_ternary:${isolate_managed_irq}:\b[y,Y,1,t,T]\b:managed_irq,domain,:}
-+
- [sysctl]
- kernel.hung_task_timeout_secs = 600
- kernel.nmi_watchdog = 0
-@@ -41,7 +44,7 @@ kernel.timer_migration = 0
- /sys/devices/system/machinecheck/machinecheck*/ignore_ce = 1
- 
- [bootloader]
--cmdline_realtime=+isolcpus=${isolated_cores} intel_pstate=disable nosoftlockup tsc=nowatchdog
-+cmdline_realtime=+isolcpus=${managed_irq}${isolated_cores} intel_pstate=disable nosoftlockup tsc=nowatchdog
- 
- [script]
- script = ${i:PROFILE_DIR}/script.sh
-diff --git a/tuned/profiles/functions/function_regex_search_ternary.py b/tuned/profiles/functions/function_regex_search_ternary.py
-new file mode 100644
-index 0000000..42c4567
---- /dev/null
-+++ b/tuned/profiles/functions/function_regex_search_ternary.py
-@@ -0,0 +1,21 @@
-+import re
-+from . import base
-+
-+class regex_search_ternary(base.Function):
-+	"""
-+	Ternary regex operator, it takes arguments in the following form
-+	STR1, REGEX, STR2, STR3
-+	If REGEX matches STR1 (re.search is used), STR2 is returned,
-+	otherwise STR3 is returned
-+	"""
-+	def __init__(self):
-+		# 4 arguments
-+		super(regex_search_ternary, self).__init__("regex_search_ternary", 4)
-+
-+	def execute(self, args):
-+		if not super(regex_search_ternary, self).execute(args):
-+			return None
-+		if re.search(args[1], args[0]):
-+			return args[2]
-+		else:
-+			return args[3]
--- 
-2.21.1
-
diff --git a/SOURCES/tuned-2.13.0-rename-sst-to-intel-sst.patch b/SOURCES/tuned-2.13.0-rename-sst-to-intel-sst.patch
deleted file mode 100644
index 8d9b43c..0000000
--- a/SOURCES/tuned-2.13.0-rename-sst-to-intel-sst.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 20a71af333bcfb4110319b2f626fbfcb1d30870f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
-Date: Tue, 11 Feb 2020 17:44:06 +0100
-Subject: [PATCH] profiles: renamed sst profile to intel-sst
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Also updated intel-sst profile manual page describing its usage.
-
-Related: rhbz#1743879
-
-Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
----
- man/tuned-profiles.7                   | 6 ++++--
- profiles/{sst => intel-sst}/tuned.conf | 2 +-
- 2 files changed, 5 insertions(+), 3 deletions(-)
- rename profiles/{sst => intel-sst}/tuned.conf (65%)
-
-diff --git a/man/tuned-profiles.7 b/man/tuned-profiles.7
-index aaf140b..8e536c2 100644
---- a/man/tuned-profiles.7
-+++ b/man/tuned-profiles.7
-@@ -122,9 +122,11 @@ Profile optimized for virtual hosts based on throughput\-performance profile.
- It additionally enables more aggressive writeback of dirty pages.
- 
- .TP
--.BI "sst"
-+.BI "intel-sst"
- Profile optimized for systems with user-defined Intel Speed Select Technology
--configurations.
-+configurations. This profile is intended to be used as an overlay on other
-+profiles (e.g. cpu\-partitioning profile), example:
-+.B tuned\-adm profile cpu\-partitioning intel-sst
- 
- .SH "FILES"
- .nf
-diff --git a/profiles/sst/tuned.conf b/profiles/intel-sst/tuned.conf
-similarity index 65%
-rename from profiles/sst/tuned.conf
-rename to profiles/intel-sst/tuned.conf
-index 4566813..c520534 100644
---- a/profiles/sst/tuned.conf
-+++ b/profiles/intel-sst/tuned.conf
-@@ -2,4 +2,4 @@
- summary=Configure for Intel Speed Select Base Frequency
- 
- [bootloader]
--cmdline_sst=-intel_pstate=disable
-+cmdline_intel_sst=-intel_pstate=disable
--- 
-2.21.1
-
diff --git a/SOURCES/tuned-2.13.0-use-ncat.patch b/SOURCES/tuned-2.13.0-use-ncat.patch
deleted file mode 100644
index 7ff0b0a..0000000
--- a/SOURCES/tuned-2.13.0-use-ncat.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/profiles/realtime-virtual-host/script.sh b/profiles/realtime-virtual-host/script.sh
-index c0d5d9e..edae6c5 100755
---- a/profiles/realtime-virtual-host/script.sh
-+++ b/profiles/realtime-virtual-host/script.sh
-@@ -29,9 +29,9 @@ run_tsc_deadline_latency()
-             -chardev socket,id=char0,nowait,path=$unixpath,server | grep latency | cut -f 2 -d ":" > $dir/out &
- 
-         sleep 1s
--        pidofvcpu=`echo "info cpus" | nc -U $unixpath | grep thread_id | cut -f 3 -d "=" | tr -d "\r"`
-+        pidofvcpu=`echo "info cpus" | ncat -U $unixpath | grep thread_id | cut -f 3 -d "=" | tr -d "\r"`
-         taskset -p -c $1 $pidofvcpu >/dev/null
--        echo "cont" | nc -U $unixpath >/dev/null
-+        echo "cont" | ncat -U $unixpath >/dev/null
-         wait
- 
-         if [ ! -f $dir/out ]; then
diff --git a/SOURCES/tuned-2.14.0-amd-performance-regression-fix.patch b/SOURCES/tuned-2.14.0-amd-performance-regression-fix.patch
new file mode 100644
index 0000000..e51870e
--- /dev/null
+++ b/SOURCES/tuned-2.14.0-amd-performance-regression-fix.patch
@@ -0,0 +1,30 @@
+From f511ad5d48f4f2ae3b2616463bc3a17bae5bdb90 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
+Date: Tue, 30 Jun 2020 15:39:18 +0200
+Subject: [PATCH] throughput-performance: fix performance regression on AMD
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It turned out that disablement of the numa_balancing could result in
+upto 20% performance drop on some loads.
+
+Related: rhbz#1746957
+
+Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
+---
+ profiles/throughput-performance/tuned.conf | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/profiles/throughput-performance/tuned.conf b/profiles/throughput-performance/tuned.conf
+index f1a6f1a..3cc6fd1 100644
+--- a/profiles/throughput-performance/tuned.conf
++++ b/profiles/throughput-performance/tuned.conf
+@@ -85,4 +85,3 @@ type=sysctl
+ uname_regex=x86_64
+ cpuinfo_regex=${amd_cpuinfo_regex}
+ kernel.sched_migration_cost_ns=5000000
+-kernel.numa_balancing=0
+-- 
+2.25.4
+
diff --git a/SOURCES/tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch b/SOURCES/tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch
new file mode 100644
index 0000000..d839c51
--- /dev/null
+++ b/SOURCES/tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch
@@ -0,0 +1,55 @@
+From daf02c380515b42db06d9f743070af5ab248a414 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
+Date: Fri, 3 Jul 2020 12:17:03 +0200
+Subject: [PATCH] scheduler: fix isolated_cores to work with cgroups
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It seems cpuset.cpus needs to be initialized before writing to tasks.
+
+Related: rhbz#1784648
+
+Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
+---
+ tuned/plugins/plugin_scheduler.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tuned/plugins/plugin_scheduler.py b/tuned/plugins/plugin_scheduler.py
+index 745ee4a..9ad9f54 100644
+--- a/tuned/plugins/plugin_scheduler.py
++++ b/tuned/plugins/plugin_scheduler.py
+@@ -106,6 +106,7 @@ class SchedulerPlugin(base.Plugin):
+ 		# calculated by isolated_cores setter
+ 		self._affinity = None
+ 
++		self._cgroup_affinity_initialized = False
+ 		self._cgroup = None
+ 		self._cgroups = collections.OrderedDict([(self._sanitize_cgroup_path(option[7:]), self._variables.expand(affinity))
+ 			for option, affinity in instance.options.items() if option[:7] == "cgroup." and len(option) > 7])
+@@ -478,11 +479,14 @@ class SchedulerPlugin(base.Plugin):
+ 			log.error("Unable to set affinity '%s' for cgroup '%s'" % (affinity, cgroup))
+ 
+ 	def _cgroup_set_affinity(self):
++		if self._cgroup_affinity_initialized:
++			return
+ 		log.debug("Setting cgroups affinities")
+ 		if self._affinity is not None and self._cgroup is not None and not self._cgroup in self._cgroups:
+ 			self._cgroup_set_affinity_one(self._cgroup, self._affinity, backup = True)
+ 		for cg in self._cgroups.items():
+ 			self._cgroup_set_affinity_one(cg[0], cg[1], backup = True)
++		self._cgroup_affinity_initialized = True
+ 
+ 	def _cgroup_restore_affinity(self):
+ 		log.debug("Restoring cgroups affinities")
+@@ -920,6 +924,7 @@ class SchedulerPlugin(base.Plugin):
+ 			return self._verify_all_irq_affinity(affinity, ignore_missing)
+ 		elif enabling:
+ 			if self._cgroup:
++				self._cgroup_set_affinity()
+ 				ps_affinity = "cgroup.%s" % self._cgroup
+ 			else:
+ 				ps_affinity = affinity
+-- 
+2.25.4
+
diff --git a/SPECS/tuned.spec b/SPECS/tuned.spec
index 62832e1..5c755a8 100644
--- a/SPECS/tuned.spec
+++ b/SPECS/tuned.spec
@@ -33,8 +33,8 @@
 
 Summary: A dynamic adaptive system tuning daemon
 Name: tuned
-Version: 2.13.0
-Release: 6%{?prerel1}%{?dist}
+Version: 2.14.0
+Release: 3%{?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:
@@ -75,11 +75,8 @@ Recommends: kernel-tools
 %if 0%{?rhel} > 7
 Requires: python3-syspurpose
 %endif
-Patch0: tuned-2.13.0-define-variables-before-use.patch
-Patch1: tuned-2.13.0-use-ncat.patch
-Patch2: tuned-2.13.0-add-accelerator-performance-profile.patch
-Patch3: tuned-2.13.0-rename-sst-to-intel-sst.patch
-Patch4: tuned-2.13.0-realtime-cond-support-for-managed_irq.patch
+Patch0: tuned-2.14.0-amd-performance-regression-fix.patch
+Patch1: tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch
 
 %description
 The tuned package contains a daemon that tunes system settings dynamically.
@@ -215,6 +212,13 @@ Requires: %{name} = %{version}
 %description profiles-cpu-partitioning
 Additional tuned profile(s) optimized for CPU partitioning.
 
+%package profiles-spectrumscale
+Summary: Additional tuned profile(s) optimized for IBM Spectrum Scale
+Requires: %{name} = %{version}
+
+%description profiles-spectrumscale
+Additional tuned profile(s) optimized for IBM Spectrum Scale.
+
 %package profiles-compat
 Summary: Additional tuned profiles mainly for backward compatibility with tuned 1.0
 Requires: %{name} = %{version}
@@ -225,11 +229,9 @@ It can be also used to fine tune your system for specific scenarios.
 
 %prep
 %setup -q -n %{name}-%{version}%{?prerel2}
+
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
 
 # Replace the upstream recommend.conf with a RHEL-8-specific one
 rm -f recommend.conf
@@ -369,6 +371,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/spectrumscale-ece
 %{_prefix}/lib/tuned
 %dir %{_sysconfdir}/tuned
 %dir %{_sysconfdir}/tuned/recommend.d
@@ -376,6 +379,7 @@ fi
 %{_libexecdir}/tuned/defirqaffinity*
 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/active_profile
 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/profile_mode
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/post_loaded_profile
 %config(noreplace) %{_sysconfdir}/tuned/tuned-main.conf
 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/bootcmdline
 %{_sysconfdir}/dbus-1/system.d/com.redhat.tuned.conf
@@ -467,6 +471,10 @@ fi
 %{_prefix}/lib/tuned/cpu-partitioning
 %{_mandir}/man7/tuned-profiles-cpu-partitioning.7*
 
+%files profiles-spectrumscale
+%{_prefix}/lib/tuned/spectrumscale-ece
+%{_mandir}/man7/tuned-profiles-spectrumscale-ece.7*
+
 %files profiles-compat
 %{_prefix}/lib/tuned/default
 %{_prefix}/lib/tuned/desktop-powersave
@@ -478,6 +486,42 @@ fi
 %{_mandir}/man7/tuned-profiles-compat.7*
 
 %changelog
+* Fri Jul  3 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.14.0-3
+- scheduler: fixed isolated_cores to work with cgroups
+  related: rhbz#1784648
+
+* Tue Jun 30 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.14.0-2
+- throughput-performance: fix performance regression on AMD platforms
+  related: rhbz#1746957
+
+* Mon Jun 15 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.14.0-1
+- new release
+  - rebased tuned to latest upstream
+    related: rhbz#1792264
+
+* Mon Jun  8 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.14.0-0.1.rc1
+- new release
+  - rebased tuned to latest upstream
+    resolves: rhbz#1792264
+  - oracle: turned off NUMA balancing
+    resolves: rhbz#1782233
+  - man: documented the possibility to apply multiple profiles
+    resolves: rhbz#1794337
+  - cpu-partitioning: disabled kernel.timer_migration
+    resolves: rhbz#1797629
+  - profiles: new profile optimize-serial-console
+    resolves: rhbz#1840689
+  - added support for a post-loaded profile
+    resolves: rhbz#1798183
+  - plugins: new irqbalance plugin
+    resolves: rhbz#1784645
+  - throughput-performance: added architecture specific tuning for Marvell ThunderX
+    resolves: rhbz#1746961
+  - throughput-performance: added architecture specific tuning for AMD
+    resolves: rhbz#1746957
+  - scheduler: added support for cgroups
+    resolves: rhbz#1784648
+
 * Mon Mar 23 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.13.0-6
 - realtime: added conditional support for managed_irq
   Resolves: rhbz#1797025