• P
    sched: fix possible recursive rq->lock · da8d5089
    Peter Zijlstra 提交于
    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: NPeter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    da8d5089
sched.c 231.7 KB