• Peter Zijlstra's avatar
    sched: fix possible recursive rq->lock · da8d5089
    Peter Zijlstra authored
    Vaidyanathan Srinivasan reported:
    
     > =============================================
     > [ INFO: possible recursive locking detected ]
     > 2.6.28-autotest-tip-sv #1
     > ---------------------------------------------
     > klogd/5062 is trying to acquire lock:
     >  (&rq->lock){++..}, at: [<ffffffff8022aca2>] task_rq_lock+0x45/0x7e
     >
     > but task is already holding lock:
     >  (&rq->lock){++..}, at: [<ffffffff805f7354>] schedule+0x158/0xa31
    
    With sched_mc at 2. (it is default-off)
    
    Strictly speaking we'll not deadlock, because ttwu will not be able to
    place the migration task on our rq, but since the code can deal with
    both rqs getting unlocked, this seems the easiest way out.
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    da8d5089
sched.c 232 KB