diff options
author | Nicholas Mc Guire <der.herr@hofr.at> | 2013-11-19 23:22:09 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-04-10 00:19:18 (GMT) |
commit | bd3332707bb49a7e4d69ce375cb8d9988e543aad (patch) | |
tree | ba959ee73e72de169cd6492b806c52eeff996c8b /kernel | |
parent | 5a5be9fd56add495878f09be0ae1882778d6ad7e (diff) | |
download | linux-fsl-qoriq-bd3332707bb49a7e4d69ce375cb8d9988e543aad.tar.xz |
allow preemption in recursive migrate_disable call
Minor cleanup in migrate_disable/migrate_enable. The recursive case
does not need to disable preemption as it is "pinned" to the current
cpu any way so it is safe to preempt it.
Signed-off-by: Nicholas Mc Guire <der.herr@hofr.at>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched/core.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index b38ae06..fdf5edd 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2419,13 +2419,12 @@ void migrate_disable(void) WARN_ON_ONCE(p->migrate_disable_atomic); #endif - preempt_disable(); if (p->migrate_disable) { p->migrate_disable++; - preempt_enable(); return; } + preempt_disable(); pin_current_cpu(); p->migrate_disable = 1; preempt_enable(); @@ -2451,13 +2450,12 @@ void migrate_enable(void) #endif WARN_ON_ONCE(p->migrate_disable <= 0); - preempt_disable(); if (migrate_disable_count(p) > 1) { p->migrate_disable--; - preempt_enable(); return; } + preempt_disable(); if (unlikely(migrate_disabled_updated(p))) { /* * See comment in update_migrate_disable() about locking. |