diff --git a/SOURCES/tuned-2.5.1-assignment-modifiers-strip-fix.patch b/SOURCES/tuned-2.5.1-assignment-modifiers-strip-fix.patch
new file mode 100644
index 0000000..8a0f915
--- /dev/null
+++ b/SOURCES/tuned-2.5.1-assignment-modifiers-strip-fix.patch
@@ -0,0 +1,18 @@
+diff --git a/tuned/plugins/base.py b/tuned/plugins/base.py
+--- a/tuned/plugins/base.py
++++ b/tuned/plugins/base.py
+@@ -369,10 +369,12 @@ class Plugin(object):
+ 	def _process_assignment_modifiers(self, new_value, current_value):
+ 		if new_value is not None:
+ 			nws = str(new_value)
++			if len(nws) <= 1:
++				return new_value
+ 			op = nws[:1]
+ 			val = nws[1:]
+ 			if current_value is None:
+-				return new_value
++				return val if op in ["<", ">"] else new_value
+ 			try:
+ 				if op == ">":
+ 					if int(val) > int(current_value):
+
diff --git a/SOURCES/tuned-2.5.1-embedded-slashes-in-device-name-fix.patch b/SOURCES/tuned-2.5.1-embedded-slashes-in-device-name-fix.patch
new file mode 100644
index 0000000..1513f65
--- /dev/null
+++ b/SOURCES/tuned-2.5.1-embedded-slashes-in-device-name-fix.patch
@@ -0,0 +1,39 @@
+diff --git a/tuned/plugins/plugin_disk.py b/tuned/plugins/plugin_disk.py
+index 69efbf7..8de4531 100644
+--- a/tuned/plugins/plugin_disk.py
++++ b/tuned/plugins/plugin_disk.py
+@@ -200,8 +200,15 @@ class DiskPlugin(hotplug.Plugin):
+ 	def _instance_unapply_dynamic(self, instance, device):
+ 		pass
+ 
++	def _sysfs_path(self, device, suffix, prefix = "/sys/block/"):
++		if "/" in device:
++			dev = os.path.join(prefix, device.replace("/", "!"), suffix)
++			if os.path.exists(dev):
++				return dev
++		return os.path.join(prefix, device, suffix)
++
+ 	def _elevator_file(self, device):
+-		return os.path.join("/sys/block/", device, "queue/scheduler")
++		return self._sysfs_path(device, "queue/scheduler")
+ 
+ 	@command_set("elevator", per_device=True)
+ 	def _set_elevator(self, value, device, sim):
+@@ -296,7 +303,7 @@ class DiskPlugin(hotplug.Plugin):
+ 		return 253
+ 
+ 	def _readahead_file(self, device):
+-		return os.path.join("/sys/block/", device, "queue/read_ahead_kb")
++		return self._sysfs_path(device, "queue/read_ahead_kb")
+ 
+ 	def _parse_ra(self, value):
+ 		val = str(value).split(None, 1)
+@@ -342,7 +349,7 @@ class DiskPlugin(hotplug.Plugin):
+ 			self._storage.unset(storage_key)
+ 
+ 	def _scheduler_quantum_file(self, device):
+-		return os.path.join("/sys/block/", device, "queue/iosched/quantum")
++		return self._sysfs_path(device, "queue/iosched/quantum")
+ 
+ 	@command_set("scheduler_quantum", per_device=True)
+ 	def _set_scheduler_quantum(self, value, device, sim):
diff --git a/SOURCES/tuned-2.5.1-realtime-sched_rt_runtime_us-fix.patch b/SOURCES/tuned-2.5.1-realtime-sched_rt_runtime_us-fix.patch
new file mode 100644
index 0000000..533f7d9
--- /dev/null
+++ b/SOURCES/tuned-2.5.1-realtime-sched_rt_runtime_us-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/profiles/realtime/tuned.conf b/profiles/realtime/tuned.conf
+index 301ec5f..c184561 100644
+--- a/profiles/realtime/tuned.conf
++++ b/profiles/realtime/tuned.conf
+@@ -15,7 +15,7 @@ not_isolated_cpumask = ${f:cpulist2hex_invert:${isolated_cores}}
+ [sysctl]
+ kernel.hung_task_timeout_secs = 600
+ kernel.nmi_watchdog = 0
+-kernel.sched_rt_runtime_us = 1000000
++kernel.sched_rt_runtime_us = -1
+ vm.stat_interval = 10
+ kernel.timer_migration = 0
+ 
diff --git a/SOURCES/tuned-2.5.1-realtime-timer-migration.patch b/SOURCES/tuned-2.5.1-realtime-timer-migration.patch
new file mode 100644
index 0000000..665f14e
--- /dev/null
+++ b/SOURCES/tuned-2.5.1-realtime-timer-migration.patch
@@ -0,0 +1,12 @@
+diff --git a/profiles/realtime/tuned.conf b/profiles/realtime/tuned.conf
+index 4273ad2..301ec5f 100644
+--- a/profiles/realtime/tuned.conf
++++ b/profiles/realtime/tuned.conf
+@@ -17,6 +17,7 @@ kernel.hung_task_timeout_secs = 600
+ kernel.nmi_watchdog = 0
+ kernel.sched_rt_runtime_us = 1000000
+ vm.stat_interval = 10
++kernel.timer_migration = 0
+ 
+ [sysfs]
+ /sys/bus/workqueue/devices/writeback/cpumask = ${not_isolated_cpumask}
diff --git a/SOURCES/tuned-2.5.1-realtime-virtual-add-rcu_nocbs.patch b/SOURCES/tuned-2.5.1-realtime-virtual-add-rcu_nocbs.patch
new file mode 100644
index 0000000..2cf1e6d
--- /dev/null
+++ b/SOURCES/tuned-2.5.1-realtime-virtual-add-rcu_nocbs.patch
@@ -0,0 +1,20 @@
+diff --git a/profiles/realtime-virtual-guest/tuned.conf b/profiles/realtime-virtual-guest/tuned.conf
+index eaaf4ab..0c3b2df 100644
+--- a/profiles/realtime-virtual-guest/tuned.conf
++++ b/profiles/realtime-virtual-guest/tuned.conf
+@@ -14,4 +14,4 @@ isolated_cores_expanded=${f:cpulist_unpack:${isolated_cores}}
+ script=script.sh
+ 
+ [bootloader]
+-cmdline=isolcpus=${isolated_cores} nohz=on nohz_full=${isolated_cores} intel_pstate=disable nosoftlockup
++cmdline=isolcpus=${isolated_cores} nohz=on nohz_full=${isolated_cores} rcu_nocbs=${isolated_cores} intel_pstate=disable nosoftlockup
+diff --git a/profiles/realtime-virtual-host/tuned.conf b/profiles/realtime-virtual-host/tuned.conf
+index 51c182e..b23f832 100644
+--- a/profiles/realtime-virtual-host/tuned.conf
++++ b/profiles/realtime-virtual-host/tuned.conf
+@@ -42,4 +42,4 @@ group.rcub=0:f:3:*:rcub.*
+ script=script.sh
+ 
+ [bootloader]
+-cmdline=isolcpus=${isolated_cores} nohz=on nohz_full=${isolated_cores} intel_pstate=disable nosoftlockup
++cmdline=isolcpus=${isolated_cores} nohz=on nohz_full=${isolated_cores} rcu_nocbs=${isolated_cores} intel_pstate=disable nosoftlockup
diff --git a/SPECS/tuned.spec b/SPECS/tuned.spec
index 5b4ed8b..269b9cf 100644
--- a/SPECS/tuned.spec
+++ b/SPECS/tuned.spec
@@ -1,7 +1,7 @@
 Summary: A dynamic adaptive system tuning daemon
 Name: tuned
 Version: 2.5.1
-Release: 4%{?dist}.3
+Release: 4%{?dist}.6
 License: GPLv2+
 Source: https://fedorahosted.org/releases/t/u/tuned/tuned-%{version}.tar.bz2
 URL: https://fedorahosted.org/tuned/
@@ -30,6 +30,16 @@ Patch6: tuned-2.5.1-realtime-remove-nohz-full.patch
 Patch7: tuned-2.5.1-realtime-virtual-host-modprobe-race-fix.patch
 # rhbz#1305903
 Patch8: tuned-2.5.1-restart-attempt-fix.patch
+# rhbz#1353142
+Patch9: tuned-2.5.1-assignment-modifiers-strip-fix.patch
+# rhbz#1353142
+Patch10: tuned-2.5.1-embedded-slashes-in-device-name-fix.patch
+# rhbz#1360800
+Patch11: tuned-2.5.1-realtime-timer-migration.patch
+# rhbz#1367502
+Patch12: tuned-2.5.1-realtime-virtual-add-rcu_nocbs.patch
+# rhbz#1372190
+Patch13: tuned-2.5.1-realtime-sched_rt_runtime_us-fix.patch
 
 %description
 The tuned package contains a daemon that tunes system settings dynamically.
@@ -138,6 +148,11 @@ It can be also used to fine tune your system for specific scenarios.
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
 
 
 %build
@@ -325,6 +340,24 @@ fi
 %{_mandir}/man7/tuned-profiles-compat.7*
 
 %changelog
+* Thu Sep  1 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.5.1-4.6
+- realtime: fixed kernel.sched_rt_runtime_us to be -1
+  resolves: rhbz#1372190
+
+* Fri Aug 19 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.5.1-4.5
+- realtime: disabled timer migration
+  resolves: rhbz#1360800
+- realtime-virtual-host/guest: added rcu_nocbs kernel boot parameter
+  resolves: rhbz#1334479
+
+* Wed Aug  3 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.5.1-4.4
+- fixed traceback by always stripping assignment modifiers even if not used
+  (by assignment-modifiers-strip-fix patch)
+  resolves: rhbz#1363682
+- added workaround for embedded slashes in device names
+  (by embedded-slashes-in-device-name-fix patch)
+  related: rhbz#1363682
+
 * Tue Feb  9 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.5.1-4.3
 - fixed traceback during restart attempt
   resolves: rhbz#1305903