[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e531081f-4871-5292-6a31-782fa7228788@quicinc.com>
Date: Wed, 25 May 2022 10:29:23 +0530
From: Mukesh Ojha <quic_mojha@...cinc.com>
To: Zqiang <qiang1.zhang@...el.com>, <paulmck@...nel.org>,
<frederic@...nel.org>
CC: <rcu@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] rcu: Add rnp->expmask output to show_rcu_gp_kthreads()
On 5/25/2022 10:15 AM, Zqiang wrote:
> Currently, for expedited rcu we only check 'rnp->exp_tasks', however
> the 'rnp->exp_tasks' are not always exist for expedited grace period
> that not end. this commit add 'rnp->expmask' condition.
>
> Signed-off-by: Zqiang <qiang1.zhang@...el.com>
Thanks !! for the patch.
Commit log could require wordsmith from Paul :-)
Reviewed-by: quic_mojha@...cinc.com
-Mukesh
> ---
> kernel/rcu/tree_stall.h | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/rcu/tree_stall.h b/kernel/rcu/tree_stall.h
> index 2464b0eccfd0..5c4df855f2ac 100644
> --- a/kernel/rcu/tree_stall.h
> +++ b/kernel/rcu/tree_stall.h
> @@ -865,13 +865,15 @@ void show_rcu_gp_kthreads(void)
> rcu_for_each_node_breadth_first(rnp) {
> if (ULONG_CMP_GE(READ_ONCE(rcu_state.gp_seq), READ_ONCE(rnp->gp_seq_needed)) &&
> !data_race(READ_ONCE(rnp->qsmask)) && !data_race(READ_ONCE(rnp->boost_tasks)) &&
> - !data_race(READ_ONCE(rnp->exp_tasks)) && !data_race(READ_ONCE(rnp->gp_tasks)))
> + !data_race(READ_ONCE(rnp->expmask)) && !data_race(READ_ONCE(rnp->exp_tasks)) &&
> + !data_race(READ_ONCE(rnp->gp_tasks)))
> continue;
> - pr_info("\trcu_node %d:%d ->gp_seq %ld ->gp_seq_needed %ld ->qsmask %#lx %c%c%c%c ->n_boosts %ld\n",
> + pr_info("\trcu_node %d:%d ->gp_seq %ld ->gp_seq_needed %ld ->qsmask %#lx ->expmask %#lx %c%c%c%c ->n_boosts %ld\n",
> rnp->grplo, rnp->grphi,
> (long)data_race(READ_ONCE(rnp->gp_seq)),
> (long)data_race(READ_ONCE(rnp->gp_seq_needed)),
> data_race(READ_ONCE(rnp->qsmask)),
> + data_race(READ_ONCE(rnp->expmask)),
> ".b"[!!data_race(READ_ONCE(rnp->boost_kthread_task))],
> ".B"[!!data_race(READ_ONCE(rnp->boost_tasks))],
> ".E"[!!data_race(READ_ONCE(rnp->exp_tasks))],
Powered by blists - more mailing lists