diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-12-26 01:34:03 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-12-26 01:34:03 -0500 |
commit | 3257c61bfe2b8e9337a030f09d3e6e7c5b95ddd6 (patch) | |
tree | 32f13b7c2565cdbebb26c2889e5e83399425039e | |
parent | ecbb1b433b774cffdb20f1caabcfac32d3b6915f (diff) | |
download | 4.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.patch | 16 |
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); |