summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2016-12-26 01:34:03 -0500
committerPaul Gortmaker <paul.gortmaker@windriver.com>2016-12-26 01:34:03 -0500
commit3257c61bfe2b8e9337a030f09d3e6e7c5b95ddd6 (patch)
tree32f13b7c2565cdbebb26c2889e5e83399425039e
parentecbb1b433b774cffdb20f1caabcfac32d3b6915f (diff)
download4.9-rt-patches-3257c61bfe2b8e9337a030f09d3e6e7c5b95ddd6.tar.gz
sched-mmdrop-delayed: import refresh for ctxt changesrt-v4.8-11288-gb66484cd7470
-rw-r--r--patches/sched-mmdrop-delayed.patch16
1 files changed, 8 insertions, 8 deletions
diff --git a/patches/sched-mmdrop-delayed.patch b/patches/sched-mmdrop-delayed.patch
index 769d328eadc6bc..f2a93dedf3040f 100644
--- a/patches/sched-mmdrop-delayed.patch
+++ b/patches/sched-mmdrop-delayed.patch
@@ -35,7 +35,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
void __user *bd_addr;
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
-@@ -2857,6 +2857,17 @@ static inline void mmdrop(struct mm_stru
+@@ -2905,6 +2905,17 @@ static inline void mmdrop(struct mm_stru
__mmdrop(mm);
}
@@ -50,12 +50,12 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+# define mmdrop_delayed(mm) mmdrop(mm)
+#endif
+
- static inline bool mmget_not_zero(struct mm_struct *mm)
+ static inline void mmdrop_async_fn(struct work_struct *work)
{
- return atomic_inc_not_zero(&mm->mm_users);
+ struct mm_struct *mm = container_of(work, struct mm_struct, async_put_work);
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -715,6 +715,19 @@ void __mmdrop(struct mm_struct *mm)
+@@ -862,6 +862,19 @@ void __mmdrop(struct mm_struct *mm)
}
EXPORT_SYMBOL_GPL(__mmdrop);
@@ -77,7 +77,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
VM_BUG_ON(atomic_read(&mm->mm_users));
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -2776,8 +2776,12 @@ static struct rq *finish_task_switch(str
+@@ -2785,8 +2785,12 @@ static struct rq *finish_task_switch(str
finish_arch_post_lock_switch();
fire_sched_in_preempt_notifiers(current);
@@ -91,7 +91,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
if (unlikely(prev_state == TASK_DEAD)) {
if (prev->sched_class->task_dead)
prev->sched_class->task_dead(prev);
-@@ -5513,6 +5517,8 @@ void sched_setnuma(struct task_struct *p
+@@ -5545,6 +5549,8 @@ void sched_setnuma(struct task_struct *p
#endif /* CONFIG_NUMA_BALANCING */
#ifdef CONFIG_HOTPLUG_CPU
@@ -100,7 +100,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
* Ensures that the idle task is using init_mm right before its cpu goes
* offline.
-@@ -5527,7 +5533,12 @@ void idle_task_exit(void)
+@@ -5559,7 +5565,12 @@ void idle_task_exit(void)
switch_mm_irqs_off(mm, &init_mm, current);
finish_arch_post_lock_switch();
}
@@ -114,7 +114,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
/*
-@@ -7402,6 +7413,10 @@ int sched_cpu_dying(unsigned int cpu)
+@@ -7505,6 +7516,10 @@ int sched_cpu_dying(unsigned int cpu)
update_max_interval();
nohz_balance_exit_idle(cpu);
hrtick_clear(rq);