]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
srcu: Add NUM_ACTIVE_SRCU_POLL_OLDSTATE
authorPaul E. McKenney <paulmck@kernel.org>
Mon, 10 Jun 2024 03:12:19 +0000 (20:12 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Tue, 18 Jun 2024 17:13:37 +0000 (10:13 -0700)
This commit adds NUM_ACTIVE_SRCU_POLL_OLDSTATE, which gives the maximum
number of distinct return values from get_state_synchronize_rcu()
that can, at a given point in time, correspond to not-completed SRCU
grace periods.

Reported-by: Kent Overstreet <kent.overstreet@linux.dev>
Closes: https://lore.kernel.org/all/irycqy4sinjdgm2hkyix2bffunpcmuwgeufsx6nlljvqme3wiu@ify3zdnrmzph/
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
include/linux/srcu.h

index 236610e4a8fa5d704b7e4bb243b720a7c5fc1283..f664cba7a80c2103d2aa58c94484bc19fa353ad7 100644 (file)
@@ -61,6 +61,10 @@ unsigned long get_state_synchronize_srcu(struct srcu_struct *ssp);
 unsigned long start_poll_synchronize_srcu(struct srcu_struct *ssp);
 bool poll_state_synchronize_srcu(struct srcu_struct *ssp, unsigned long cookie);
 
+// Maximum number of unsigned long values corresponding to
+// not-yet-completed SRCU grace periods.
+#define NUM_ACTIVE_SRCU_POLL_OLDSTATE 2
+
 #ifdef CONFIG_NEED_SRCU_NMI_SAFE
 int __srcu_read_lock_nmisafe(struct srcu_struct *ssp) __acquires(ssp);
 void __srcu_read_unlock_nmisafe(struct srcu_struct *ssp, int idx) __releases(ssp);