diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2021-05-25 21:28:40 +0300 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2021-07-07 01:52:49 +0300 |
commit | a9ab9cce9367a2cc02a3c7eb57a004dc0b8f380d (patch) | |
tree | 1184588aa301c3d9127342be022626fbee21d2ce /kernel/rcu | |
parent | 1d10bf55d85d34eb73dd8263635f43fd72135d2d (diff) | |
download | linux-a9ab9cce9367a2cc02a3c7eb57a004dc0b8f380d.tar.xz |
rcu-tasks: Don't delete holdouts within trc_wait_for_one_reader()
Invoking trc_del_holdout() from within trc_wait_for_one_reader() is
only a performance optimization because the RCU Tasks Trace grace-period
kthread will eventually do this within check_all_holdout_tasks_trace().
But it is not a particularly important performance optimization because
it only applies to the grace-period kthread, of which there is but one.
This commit therefore removes this invocation of trc_del_holdout() in
favor of the one in check_all_holdout_tasks_trace() in the grace-period
kthread.
Reported-by: "Xu, Yanfei" <yanfei.xu@windriver.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/tasks.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h index 3d5cb6cb8a6d..8536c55df514 100644 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@ -982,7 +982,6 @@ static void trc_wait_for_one_reader(struct task_struct *t, // The current task had better be in a quiescent state. if (t == current) { t->trc_reader_checked = true; - trc_del_holdout(t); WARN_ON_ONCE(t->trc_reader_nesting); return; } |