[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220620064224.2630382-1-qiang1.zhang@intel.com>
Date: Mon, 20 Jun 2022 14:42:24 +0800
From: Zqiang <qiang1.zhang@...el.com>
To: paulmck@...nel.org, frederic@...nel.org
Cc: rcu@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH] rcu: Update rcu_preempt_deferred_qs() comments for no preemptible RCU
For no preemptible RCU, the rcu_preempt_deferred_qs() only report
expedited QS state of current CPU, since preemption does not occur
in RCU critical sections, there are no tasks insert to leaf rnp
blocked-tasks list, that is to say the tasks structure's ->rcu_blocked_node
and the leaf rnp structure's ->blkd_tasks are always empty.
Signed-off-by: Zqiang <qiang1.zhang@...el.com>
---
kernel/rcu/tree_plugin.h | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index dc78726b993f..99424c2da5db 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -932,10 +932,12 @@ static bool rcu_preempt_need_deferred_qs(struct task_struct *t)
return false;
}
-// Except that we do need to respond to a request by an expedited grace
-// period for a quiescent state from this CPU. Note that requests from
-// tasks are handled when removing the task from the blocked-tasks list
-// below.
+/*
+ * Except that we do need to respond to a request by an expedited grace
+ * period for a quiescent state from this CPU. Note that for no preemptible
+ * RCU, since preemption does not occur in RCU critical sections, so the
+ * leaf rnp's blocked-tasks list is always empty.
+ */
void rcu_preempt_deferred_qs(struct task_struct *t)
{
struct rcu_data *rdp = this_cpu_ptr(&rcu_data);
--
2.25.1
Powered by blists - more mailing lists