[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190320163550.GL4102@linux.ibm.com>
Date: Wed, 20 Mar 2019 09:35:50 -0700
From: "Paul E. McKenney" <paulmck@...ux.ibm.com>
To: Zhouyi Zhou <zhouzhouyi@...il.com>
Cc: josh@...htriplett.org, rostedt@...dmis.org,
mathieu.desnoyers@...icios.com, jiangshanlai@...il.com,
joel@...lfernandes.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] RCU: Adjust comments for force_qs_rnp
On Wed, Mar 20, 2019 at 03:33:00AM +0000, Zhouyi Zhou wrote:
> Previously, threads blocked on offlining CPUS are migrated to root
> rcu_node, so there is a need to initiate RCU priority boosting on root
> rcu_node,
>
> Current RCU does not migrate blocked tasks even if all corresponding CPUs
> offline.
> commit d19fb8d1f3f6 ("rcu: Don't migrate blocked tasks even if all corresponding CPUs offline")'
>
> Consequently, rcu does not initiate RCU priority boosting on root rcu_node.
> commit 1be0085b515e ("rcu: Don't initiate RCU priority boosting on root rcu_node")'
>
> So I think the comments for force_qs_rnp should be adjusted.
>
> Signed-off-by: Zhouyi Zhou <zhouzhouyi@...il.com>
Great catch, thank you! I have queued it with wordsmithing as shown
below. Please let me know if I messed anything up.
Thanx, Paul
------------------------------------------------------------------------
commit 24bbb0754fdfabe3976c42e82620d1d1a86da9d6
Author: Zhouyi Zhou <zhouzhouyi@...il.com>
Date: Wed Mar 20 03:33:00 2019 +0000
rcu: Fix force_qs_rnp() header comment
Previously, threads blocked on offlining CPUS were migrated to the
root rcu_node structure, thus requiring RCU priority boosting on this
structure. However, since commit d19fb8d1f3f6 ("rcu: Don't migrate
blocked tasks even if all corresponding CPUs offline"), RCU does not
migrate blocked tasks. Consequently, RCU no longer does RCU priority
boosting on the root rcu_node structure as of commit 1be0085b515e ("rcu:
Don't initiate RCU priority boosting on root rcu_node").
This commit therefore brings comments for the force_qs_rnp() function's
header comment in line with this new no-root-boosting reality.
Signed-off-by: Zhouyi Zhou <zhouzhouyi@...il.com>
[ paulmck: Also remove obsolete comment on suppressing new grace periods. ]
Signed-off-by: Paul E. McKenney <paulmck@...ux.ibm.com>
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index c719929c9316..961dbc7b8949 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -2171,11 +2171,11 @@ void rcu_sched_clock_irq(int user)
}
/*
- * Scan the leaf rcu_node structures, processing dyntick state for any that
- * have not yet encountered a quiescent state, using the function specified.
- * Also initiate boosting for any threads blocked on the root rcu_node.
- *
- * The caller must have suppressed start of new grace periods.
+ * Scan the leaf rcu_node structures. For each structure on which all
+ * CPUs have reported a quiescent state and on which there are tasks
+ * blocking the current grace period, initiate RCU priority boosting.
+ * Otherwise, invoke the specified function to check dyntick state for
+ * each CPU that has not yet reported a quiescent state.
*/
static void force_qs_rnp(int (*f)(struct rcu_data *rdp))
{
Powered by blists - more mailing lists