]> git.karo-electronics.de Git - karo-tx-linux.git/commit
sched: Fix cross-sched-class wakeup preemption
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Thu, 10 Feb 2011 09:23:29 +0000 (10:23 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 23:37:29 +0000 (15:37 -0800)
commit134f7feec8110044202aa6776f3b700022fe0213
treefb249769b631631e5dcb1de27f8e5c2f15c29935
parentaa68c0327e866f8c8cdbcea0afa69fcb89ad61a7
sched: Fix cross-sched-class wakeup preemption

Commit: 1e5a74059f9059d330744eac84873b1b99657008 upstream

Instead of dealing with sched classes inside each check_preempt_curr()
implementation, pull out this logic into the generic wakeup preemption
path.

This fixes a hang in KVM (and others) where we are waiting for the
stop machine thread to run ...

Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Tested-by: Marcelo Tosatti <mtosatti@redhat.com>
Tested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1288891946.2039.31.camel@laptop>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/sched.c