summaryrefslogtreecommitdiff
path: root/kernel/rcu/srcutree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2024-06-11 08:14:08 -0700
committerPaul E. McKenney <paulmck@kernel.org>2024-06-18 10:13:37 -0700
commitd7b0615cb8d24737df436c9c00788c0f35e02c7b (patch)
treefe20d14e806b08186a1a6b0ed4a61b67ccca9811 /kernel/rcu/srcutree.c
parent395e73bd8d35fa9b8505e44f63a2a10abde09cce (diff)
downloadlwn-d7b0615cb8d24737df436c9c00788c0f35e02c7b.tar.gz
lwn-d7b0615cb8d24737df436c9c00788c0f35e02c7b.zip
srcu: Update cleanup_srcu_struct() comment
Now that we have polled SRCU grace periods, a grace period can be started by start_poll_synchronize_srcu() as well as call_srcu(), synchronize_srcu(), and synchronize_srcu_expedited(). This commit therefore calls out this new start_poll_synchronize_srcu() possibility in the comment on the WARN_ON(). Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/rcu/srcutree.c')
-rw-r--r--kernel/rcu/srcutree.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index bc4b58b0204e..15dc22a8ff5a 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -667,7 +667,10 @@ void cleanup_srcu_struct(struct srcu_struct *ssp)
pr_info("%s: Active srcu_struct %p read state: %d gp state: %lu/%lu\n",
__func__, ssp, rcu_seq_state(READ_ONCE(sup->srcu_gp_seq)),
rcu_seq_current(&sup->srcu_gp_seq), sup->srcu_gp_seq_needed);
- return; /* Caller forgot to stop doing call_srcu()? */
+ return; // Caller forgot to stop doing call_srcu()?
+ // Or caller invoked start_poll_synchronize_srcu()
+ // and then cleanup_srcu_struct() before that grace
+ // period ended?
}
kfree(sup->node);
sup->node = NULL;