]> git.karo-electronics.de Git - karo-tx-linux.git/commit
sched: revert stable c6fc81a sched: Fix a race between ttwu() and migrate_task()
authorMike Galbraith <efault@gmx.de>
Thu, 26 Aug 2010 03:29:16 +0000 (05:29 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Sep 2010 20:17:45 +0000 (13:17 -0700)
commit8c5217d732d576bcdacf7cd515165f246e6a4912
tree766d33890ae073a66e7ebf3e26d12aa81c1e027f
parent6f6198a78a34e3d8623f717d05087267e8dedef2
sched: revert stable c6fc81a sched: Fix a race between ttwu() and migrate_task()

This commit does not appear to have been meant for 32-stable, and causes ltp's
cpusets testcases to fail, revert it.

Original commit text:

sched: Fix a race between ttwu() and migrate_task()

Based on commit e2912009fb7b715728311b0d8fe327a1432b3f79 upstream, but
done differently as this issue is not present in .33 or .34 kernels due
to rework in this area.

If a task is in the TASK_WAITING state, then try_to_wake_up() is working
on it, and it will place it on the correct cpu.

This commit ensures that neither migrate_task() nor __migrate_task()
calls set_task_cpu(p) while p is in the TASK_WAKING state.  Otherwise,
there could be two concurrent calls to set_task_cpu(p), resulting in
the task's cfs_rq being inconsistent with its cpu.

Signed-off-by: Mike Galbraith <efault@gmx.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/sched.c