diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2016-06-10 18:18:11 +0200 |
---|---|---|
committer | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2016-06-10 18:18:11 +0200 |
commit | 5d2c597266888703b5212abb1ce43b58c4a7b641 (patch) | |
tree | 2e5e1c3fa0b86b6bb3fc278199e2b04538389f43 | |
parent | 6df74278ffa3d98e62db0d66827f1c4a05ccfdd4 (diff) | |
download | 4.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.patch | 2 | ||||
-rw-r--r-- | patches/fs-aio-simple-simple-work.patch | 2 | ||||
-rw-r--r-- | patches/localversion.patch | 2 | ||||
-rw-r--r-- | patches/mm-memcontrol-mem_cgroup_migrate-replace-another-loc.patch | 29 | ||||
-rw-r--r-- | patches/pid.h-include-atomic.h.patch | 2 | ||||
-rw-r--r-- | patches/series | 1 | ||||
-rw-r--r-- | patches/thermal-Defer-thermal-wakups-to-threads.patch | 2 | ||||
-rw-r--r-- | patches/work-simple-Simple-work-queue-implemenation.patch | 18 | ||||
-rw-r--r-- | patches/x86-mce-use-swait-queue-for-mce-wakeups.patch | 2 |
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> |