diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2012-12-20 13:58:00 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-05-14 18:37:42 (GMT) |
commit | e6355cb939c001586c38345e42cac66792532737 (patch) | |
tree | 05d4f82d80f04d16920100b58e890aef5ccee2f0 /kernel/sched/core.c | |
parent | 4e587ba1b480821d77ce55460b6740ba80bc55e8 (diff) | |
download | linux-fsl-qoriq-e6355cb939c001586c38345e42cac66792532737.tar.xz |
sched: Adjust sched_reset_on_fork when nothing else changes
If the policy and priority remain unchanged a possible modification of
sched_reset_on_fork gets lost in the early exit path.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Cc: stable-rt@vger.kernel.org
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r-- | kernel/sched/core.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index abfc473..418936c 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3391,10 +3391,13 @@ recheck: } /* - * If not changing anything there's no need to proceed further: + * If not changing anything there's no need to proceed + * further, but store a possible modification of + * reset_on_fork. */ if (unlikely(policy == p->policy && (!rt_policy(policy) || param->sched_priority == p->rt_priority))) { + p->sched_reset_on_fork = reset_on_fork; task_rq_unlock(rq, p, &flags); return 0; } |