aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/context_tracking.h
diff options
context:
space:
mode:
authorValentin Schneider <vschneid@redhat.com>2024-04-16 11:01:23 +0200
committerNeeraj Upadhyay <neeraj.upadhyay@kernel.org>2024-08-15 21:30:42 +0530
commitfda70207135b60dd1a7c8f16cc036bb1cc344490 (patch)
tree4c137e09a3edf02537b21a01df318261034266f8 /include/linux/context_tracking.h
parentcontext_tracking, rcu: Rename rcu_dynticks_task*() into rcu_task*() (diff)
downloadwireguard-linux-fda70207135b60dd1a7c8f16cc036bb1cc344490.tar.xz
wireguard-linux-fda70207135b60dd1a7c8f16cc036bb1cc344490.zip
context_tracking, rcu: Rename rcu_dynticks_curr_cpu_in_eqs() into rcu_is_watching_curr_cpu()
The context_tracking.state RCU_DYNTICKS subvariable has been renamed to RCU_WATCHING, reflect that change in the related helpers. Note that "watching" is the opposite of "in EQS", so the negation is lifted out of the helper and into the callsites. Signed-off-by: Valentin Schneider <vschneid@redhat.com> Reviewed-by: Frederic Weisbecker <frederic@kernel.org> Signed-off-by: Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
Diffstat (limited to 'include/linux/context_tracking.h')
-rw-r--r--include/linux/context_tracking.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/linux/context_tracking.h b/include/linux/context_tracking.h
index a6c36780cc3b..d53092ffa9db 100644
--- a/include/linux/context_tracking.h
+++ b/include/linux/context_tracking.h
@@ -113,13 +113,17 @@ extern void ct_idle_enter(void);
extern void ct_idle_exit(void);
/*
- * Is the current CPU in an extended quiescent state?
+ * Is RCU watching the current CPU (IOW, it is not in an extended quiescent state)?
+ *
+ * Note that this returns the actual boolean data (watching / not watching),
+ * whereas ct_rcu_watching() returns the RCU_WATCHING subvariable of
+ * context_tracking.state.
*
* No ordering, as we are sampling CPU-local information.
*/
-static __always_inline bool rcu_dynticks_curr_cpu_in_eqs(void)
+static __always_inline bool rcu_is_watching_curr_cpu(void)
{
- return !(raw_atomic_read(this_cpu_ptr(&context_tracking.state)) & CT_RCU_WATCHING);
+ return raw_atomic_read(this_cpu_ptr(&context_tracking.state)) & CT_RCU_WATCHING;
}
/*
@@ -140,7 +144,7 @@ static __always_inline bool warn_rcu_enter(void)
* lots of the actual reporting also relies on RCU.
*/
preempt_disable_notrace();
- if (rcu_dynticks_curr_cpu_in_eqs()) {
+ if (!rcu_is_watching_curr_cpu()) {
ret = true;
ct_state_inc(CT_RCU_WATCHING);
}