Messages in this thread Patch in this message | | | Date | Wed, 20 Mar 2019 09:35:50 -0700 | From | "Paul E. McKenney" <> | 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@gmail.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@gmail.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@gmail.com> [ paulmck: Also remove obsolete comment on suppressing new grace periods. ] Signed-off-by: Paul E. McKenney <paulmck@linux.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)) {
| |