Re: [PATCH] srcu: Fix incorrect condition in srcu_funnel_exp_start()

From: Byungchul Park
Date: Sun Feb 18 2018 - 18:36:38 EST


On 2/15/2018 6:42 AM, Paul E. McKenney wrote:
On Wed, Feb 14, 2018 at 05:59:54PM +0900, Byungchul Park wrote:
We should've kept sp->srcu_gp_seq_needed_exp the furthest. But
it probably fails because of the incorrect condition. Fix it.

Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx>

Good catch, and thank you for reviewing the SRCU code, but Ildar Ismagilov
beat you to this one. Please see 574428dee1f3 ("rcu: Fix misprint in
srcu_funnel_exp_start") in -rcu.

Hi Paul,

I'm sorry I'm late. It's been Lunar New Year holiday since last
thursday.

Do you mean:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git

Is this rcu's main dev-tree?

Thanks for replying anyway, and happy new year~


Thanx, Paul

---
kernel/rcu/srcutree.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index d5cea81..44bc0fa 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -626,7 +626,7 @@ static void srcu_funnel_exp_start(struct srcu_struct *sp, struct srcu_node *snp,
spin_unlock_irqrestore_rcu_node(snp, flags);
}
spin_lock_irqsave_rcu_node(sp, flags);
- if (!ULONG_CMP_LT(sp->srcu_gp_seq_needed_exp, s))
+ if (ULONG_CMP_LT(sp->srcu_gp_seq_needed_exp, s))
sp->srcu_gp_seq_needed_exp = s;
spin_unlock_irqrestore_rcu_node(sp, flags);
}
--
1.9.1




--
Thanks,
Byungchul