[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAM7-yPSA8E-35w3O=1FLf+=9ax+E1T+eTAfwCscAgzWN2T4Htg@mail.gmail.com>
Date: Mon, 24 Jul 2023 09:59:54 +0100
From: Yun Levi <ppbuk5246@...il.com>
To: Z qiang <qiang.zhang1211@...il.com>
Cc: paulmck@...nel.org, frederic@...nel.org, quic_neeraju@...cinc.com,
joel@...lfernandes.org, boqun.feng@...il.com, rostedt@...dmis.org,
mathieu.desnoyers@...icios.com, jiangshanlai@...il.com,
rcu@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] rcu: remove unnecessary check cpu_no_qs.norm on rcu_report_qs_rdp
Hi, Z qiang.
> Maybe this "start new gp" note misunderstood you.
> For built with CONFIG_RCU_STRICT_GRACE_PERIOD=y and CONFIG_PREEMPT=n kernels,
> if the gp kthread start a new GP before we exit the RCU read critical section,
> and just before we call rcu_report_qs_rdp() in
> rcu_read_unlock_strict(), at this time if the clock irq
> happens and find that the "rcu_seq_current(&rnp->gp_seq) !=
> rdp->gp_seq" is true in rcu_pening(),
> will trigger RCU softirq and find that the rcu_seq_new_gp(rdp->gp_seq,
> rnp->gp_seq) is true,
> will set rdp->cpu_no_qs.b.norm is true. when we return from the
> softirq and call rcu_report_qs_rdp()
> in rcu_read_unlock_strict(), find that the rdp->cpu_no_qs.b.norm is true.
> so there is a situation where the rdp->cpu_no_qs.b.norm is true.
Thanks for making me out from my misunderstanding..!
and even the not in STRICT_GRACE_PERIOD,
old grace period's qs could be reported though rcu_gp_kthread start new gp
by first rcu_report_qs_rdp, will be clear soon by continuous rcu_report_qs_rdp
which is triggered by interrupting before the first rcu_report_qs_rdp.
Many thanks..!
And sorry to make noise...!
Powered by blists - more mailing lists