• Oleg Nesterov's avatar
    sched: Simplify the reacquire_kernel_lock() logic · 246d86b5
    Oleg Nesterov authored
    - Contrary to what 6d558c3a says, there is no need to reload
      prev = rq->curr after the context switch. You always schedule
      back to where you came from, prev must be equal to current
      even if cpu/rq was changed.
    
    - This also means reacquire_kernel_lock() can use prev instead
      of current.
    
    - No need to reassign switch_count if reacquire_kernel_lock()
      reports need_resched(), we can just move the initial assignment
      down, under the "need_resched_nonpreemptible:" label.
    
    - Try to update the comment after context_switch().
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <20100519125711.GA30199@redhat.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    246d86b5
sched.c 216 KB