Skip to content
  • Eric W. Biederman's avatar
    tasks, sched/core: With a grace period after finish_task_switch(), remove unnecessary code · 154abafc
    Eric W. Biederman authored
    Remove work arounds that were written before there was a grace period
    after tasks left the runqueue in finish_task_switch().
    
    In particular now that there tasks exiting the runqueue exprience
    a RCU grace period none of the work performed by task_rcu_dereference()
    excpet the rcu_dereference() is necessary so replace task_rcu_dereference()
    with rcu_dereference().
    
    Remove the code in rcuwait_wait_event() that checks to ensure the current
    task has not exited.  It is no longer necessary as it is guaranteed
    that any running task will experience a RCU grace period after it
    leaves the run queueue.
    
    Remove the comment in rcuwait_wake_up() as it is no longer relevant.
    
    Ref: 8f95c90c ("sched/wait, RCU: Introduce rcuwait machinery")
    Ref: 150593bf
    
     ("sched/api: Introduce task_rcu_dereference() and try_get_task_struct()")
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Chris Metcalf <cmetcalf@ezchip.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: Kirill Tkhai <tkhai@yandex.ru>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Paul E. McKenney <paulmck@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russell King - ARM Linux admin <linux@armlinux.org.uk>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lkml.kernel.org/r/87lfurdpk9.fsf_-_@x220.int.ebiederm.org
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    154abafc