diff options
author | Nicholas Mc Guire <der.herr@hofr.at> | 2013-11-19 23:22:09 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2015-02-13 22:20:38 (GMT) |
commit | 270f6c57df67921b70fe63a6e807de2436b7aee7 (patch) | |
tree | d8b4ff11d4668da95557277af9e9fead34af32a1 /kernel/sched | |
parent | af7672dba2528e6ffbe26d7f6c05e4ed8631f751 (diff) | |
download | linux-fsl-qoriq-270f6c57df67921b70fe63a6e807de2436b7aee7.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/sched')
-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 007dec8..c3dedbb 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. |