summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2016-06-10 18:18:11 +0200
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>2016-06-10 18:18:11 +0200
commit5d2c597266888703b5212abb1ce43b58c4a7b641 (patch)
tree2e5e1c3fa0b86b6bb3fc278199e2b04538389f43
parent6df74278ffa3d98e62db0d66827f1c4a05ccfdd4 (diff)
download4.8-rt-patches-5d2c597266888703b5212abb1ce43b58c4a7b641.tar.gz
[ANNOUNCE] 4.6.2-rt5v4.6.2-rt5-patches
Dear RT folks! I'm pleased to announce the v4.6.2-rt5 patch set. Changes since v4.6.2-rt4: - "Schedule while atomic" fixup in cgroup / memcontrol. Patch by Mike Galbraith. - Rename of "work-simple" to "swork" to align with "swait". Patch by Mike Galbraith. Known issues - CPU hotplug got a little better but can deadlock. The delta patch against 4.6.2-rt4 is appended below and can be found here: https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.6/incr/patch-4.6.2-rt4-rt5.patch.xz You can get this release via the git tree at: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v4.6.2-rt5 The RT patch against 4.6.2 can be found here: https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.6/patch-4.6.2-rt5.patch.xz The split quilt queue is available at: https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.6/patches-4.6.2-rt5.tar.xz Sebastian Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-rw-r--r--patches/cgroups-use-simple-wait-in-css_release.patch2
-rw-r--r--patches/fs-aio-simple-simple-work.patch2
-rw-r--r--patches/localversion.patch2
-rw-r--r--patches/mm-memcontrol-mem_cgroup_migrate-replace-another-loc.patch29
-rw-r--r--patches/pid.h-include-atomic.h.patch2
-rw-r--r--patches/series1
-rw-r--r--patches/thermal-Defer-thermal-wakups-to-threads.patch2
-rw-r--r--patches/work-simple-Simple-work-queue-implemenation.patch18
-rw-r--r--patches/x86-mce-use-swait-queue-for-mce-wakeups.patch2
9 files changed, 44 insertions, 16 deletions
diff --git a/patches/cgroups-use-simple-wait-in-css_release.patch b/patches/cgroups-use-simple-wait-in-css_release.patch
index 968b9f07aee250..3a27f541593f75 100644
--- a/patches/cgroups-use-simple-wait-in-css_release.patch
+++ b/patches/cgroups-use-simple-wait-in-css_release.patch
@@ -38,7 +38,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#include <linux/percpu-refcount.h>
#include <linux/percpu-rwsem.h>
#include <linux/workqueue.h>
-+#include <linux/work-simple.h>
++#include <linux/swork.h>
#ifdef CONFIG_CGROUPS
diff --git a/patches/fs-aio-simple-simple-work.patch b/patches/fs-aio-simple-simple-work.patch
index 01339f8a744eec..caeb72bb005bd0 100644
--- a/patches/fs-aio-simple-simple-work.patch
+++ b/patches/fs-aio-simple-simple-work.patch
@@ -33,7 +33,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#include <linux/ramfs.h>
#include <linux/percpu-refcount.h>
#include <linux/mount.h>
-+#include <linux/work-simple.h>
++#include <linux/swork.h>
#include <asm/kmap_types.h>
#include <asm/uaccess.h>
diff --git a/patches/localversion.patch b/patches/localversion.patch
index 03a80b8b0e8035..72cdd2b3c76008 100644
--- a/patches/localversion.patch
+++ b/patches/localversion.patch
@@ -10,4 +10,4 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- /dev/null
+++ b/localversion-rt
@@ -0,0 +1 @@
-+-rt4
++-rt5
diff --git a/patches/mm-memcontrol-mem_cgroup_migrate-replace-another-loc.patch b/patches/mm-memcontrol-mem_cgroup_migrate-replace-another-loc.patch
new file mode 100644
index 00000000000000..e3ff1f47d19a4a
--- /dev/null
+++ b/patches/mm-memcontrol-mem_cgroup_migrate-replace-another-loc.patch
@@ -0,0 +1,29 @@
+From: Mike Galbraith <umgwanakikbuti@gmail.com>
+Date: Sun, 5 Jun 2016 08:11:13 +0200
+Subject: [PATCH] mm/memcontrol: mem_cgroup_migrate() - replace another
+ local_irq_disable() w. local_lock_irq()
+
+v4.6 grew a local_irq_disable() in mm/memcontrol.c::mem_cgroup_migrate().
+Convert it to use the existing local lock (event_lock) like the others.
+
+Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ mm/memcontrol.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/mm/memcontrol.c
++++ b/mm/memcontrol.c
+@@ -5554,10 +5554,10 @@ void mem_cgroup_migrate(struct page *old
+
+ commit_charge(newpage, memcg, false);
+
+- local_irq_disable();
++ local_lock_irq(event_lock);
+ mem_cgroup_charge_statistics(memcg, newpage, compound, nr_pages);
+ memcg_check_events(memcg, newpage);
+- local_irq_enable();
++ local_unlock_irq(event_lock);
+ }
+
+ DEFINE_STATIC_KEY_FALSE(memcg_sockets_enabled_key);
diff --git a/patches/pid.h-include-atomic.h.patch b/patches/pid.h-include-atomic.h.patch
index 8277468fba677a..ffb10e10d4d9fb 100644
--- a/patches/pid.h-include-atomic.h.patch
+++ b/patches/pid.h-include-atomic.h.patch
@@ -1,6 +1,6 @@
From: Grygorii Strashko <Grygorii.Strashko@linaro.org>
Date: Tue, 21 Jul 2015 19:43:56 +0300
-Subject: wait.h: include atomic.h
+Subject: pid.h: include atomic.h
This patch fixes build error:
CC kernel/pid_namespace.o
diff --git a/patches/series b/patches/series
index e83d7ba4507fc2..3ce48aeab102b8 100644
--- a/patches/series
+++ b/patches/series
@@ -244,6 +244,7 @@ slub-disable-SLUB_CPU_PARTIAL.patch
mm-page-alloc-use-local-lock-on-target-cpu.patch
mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
mm-memcontrol-do_not_disable_irq.patch
+mm-memcontrol-mem_cgroup_migrate-replace-another-loc.patch
mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch
mm-zsmalloc-Use-get-put_cpu_light-in-zs_map_object-z.patch
diff --git a/patches/thermal-Defer-thermal-wakups-to-threads.patch b/patches/thermal-Defer-thermal-wakups-to-threads.patch
index 95a4dc585bb3da..fe12a36da6b456 100644
--- a/patches/thermal-Defer-thermal-wakups-to-threads.patch
+++ b/patches/thermal-Defer-thermal-wakups-to-threads.patch
@@ -32,7 +32,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#include <linux/pm.h>
#include <linux/thermal.h>
#include <linux/debugfs.h>
-+#include <linux/work-simple.h>
++#include <linux/swork.h>
#include <asm/cpu_device_id.h>
#include <asm/mce.h>
diff --git a/patches/work-simple-Simple-work-queue-implemenation.patch b/patches/work-simple-Simple-work-queue-implemenation.patch
index 3904befdc41f1f..f502c2ec002079 100644
--- a/patches/work-simple-Simple-work-queue-implemenation.patch
+++ b/patches/work-simple-Simple-work-queue-implemenation.patch
@@ -7,18 +7,16 @@ PREEMPT_RT_FULL safe. The callbacks are executed in kthread context.
Bases on wait-simple.
-Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
---
- include/linux/work-simple.h | 24 ++++++
- kernel/sched/Makefile | 2
- kernel/sched/work-simple.c | 173 ++++++++++++++++++++++++++++++++++++++++++++
+ include/linux/swork.h | 24 ++++++
+ kernel/sched/Makefile | 2
+ kernel/sched/swork.c | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 198 insertions(+), 1 deletion(-)
- create mode 100644 include/linux/work-simple.h
- create mode 100644 kernel/sched/work-simple.c
--- /dev/null
-+++ b/include/linux/work-simple.h
++++ b/include/linux/swork.h
@@ -0,0 +1,24 @@
+#ifndef _LINUX_SWORK_H
+#define _LINUX_SWORK_H
@@ -51,12 +49,12 @@ Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
obj-y += core.o loadavg.o clock.o cputime.o
obj-y += idle_task.o fair.o rt.o deadline.o stop_task.o
-obj-y += wait.o swait.o completion.o idle.o
-+obj-y += wait.o swait.o work-simple.o completion.o idle.o
++obj-y += wait.o swait.o swork.o completion.o idle.o
obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o
obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
obj-$(CONFIG_SCHEDSTATS) += stats.o
--- /dev/null
-+++ b/kernel/sched/work-simple.c
++++ b/kernel/sched/swork.c
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2014 BMW Car IT GmbH, Daniel Wagner daniel.wagner@bmw-carit.de
@@ -66,7 +64,7 @@ Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+ */
+
+#include <linux/swait.h>
-+#include <linux/work-simple.h>
++#include <linux/swork.h>
+#include <linux/kthread.h>
+#include <linux/slab.h>
+#include <linux/spinlock.h>
diff --git a/patches/x86-mce-use-swait-queue-for-mce-wakeups.patch b/patches/x86-mce-use-swait-queue-for-mce-wakeups.patch
index a8fcca8fc4bc7a..90154c99052e08 100644
--- a/patches/x86-mce-use-swait-queue-for-mce-wakeups.patch
+++ b/patches/x86-mce-use-swait-queue-for-mce-wakeups.patch
@@ -64,7 +64,7 @@ Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
#include <linux/irq_work.h>
#include <linux/export.h>
#include <linux/jiffies.h>
-+#include <linux/work-simple.h>
++#include <linux/swork.h>
#include <asm/processor.h>
#include <asm/traps.h>