sched: fix broken SCHED_RESET_ON_FORK handling
authorMike Galbraith <efault@gmx.de>
Wed, 27 Jul 2011 15:14:55 +0000 (17:14 +0200)
committerIngo Molnar <mingo@elte.hu>
Sun, 14 Aug 2011 10:00:43 +0000 (12:00 +0200)
commitc350a04efd1c89cd256b2abc8f07a21d0d53ff24
tree81b7ad7cd7e86c21aeb81fcfe68bb38892e1ddbb
parent2c2efaed9bc973e3aeab1385c618017b56c8f6d7
sched: fix broken SCHED_RESET_ON_FORK handling

Setting child->prio = current->normal_prio _after_ SCHED_RESET_ON_FORK has
been handled for an RT parent gives birth to a deranged mutant child with
non-RT policy, but RT prio and sched_class.

Move PI leakage protection up, always set priorities and weight, and if the
child is leaving RT class, reset rt_priority to the proper value.

Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1311779695.8691.2.camel@marge.simson.net
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c