tasks, sched/core: With a grace period after finish_task_switch(), remove unnecessary code
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:Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Peter Zijlstra (Intel) <peterz...
Showing
- include/linux/rcuwait.h 4 additions, 16 deletionsinclude/linux/rcuwait.h
- include/linux/sched/task.h 0 additions, 1 deletioninclude/linux/sched/task.h
- kernel/exit.c 0 additions, 67 deletionskernel/exit.c
- kernel/sched/fair.c 1 addition, 1 deletionkernel/sched/fair.c
- kernel/sched/membarrier.c 2 additions, 2 deletionskernel/sched/membarrier.c
Please register or sign in to comment