Skip to contentSkip to conversation

srcu: fix misprint in srcu_funnel_exp_start

PATCH In review Ildar Ismagilov 2 participants 3 messages Jan 29, 2018 – Jan 30, 2018 Sleepable read-copy update (SRCU)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 srcu: fix misprint in srcu_funnel_exp_start

---
 kernel/rcu/srcutree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/rcu/srcutree.c +1 -1
index 6d5880089ff6..1798d1aa60fa 100644
@@ -599,7 +599,7 @@ static void srcu_funnel_exp_start(struct srcu_struct *sp, struct srcu_node *snp,
 		raw_spin_unlock_irqrestore_rcu_node(snp, flags);
 	}
 	raw_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;
 	raw_spin_unlock_irqrestore_rcu_node(sp, flags);
 }
Signature · 1 line
2.11.0
#1 lore raw
Quoted 1 line · Ildar Ismagilov

The original does look backwards, now that you mention it, thank you for sending it.

Did you see any performance differences from this patch?

Thanx, Paul

Quoted 20 lines
---
 kernel/rcu/srcutree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/rcu/srcutree.c +1 -1
index 6d5880089ff6..1798d1aa60fa 100644
@@ -599,7 +599,7 @@ static void srcu_funnel_exp_start(struct srcu_struct *sp, struct srcu_node *snp,
 		raw_spin_unlock_irqrestore_rcu_node(snp, flags);
 	}
 	raw_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;
 	raw_spin_unlock_irqrestore_rcu_node(sp, flags);
 }
Signature · 1 line
2.11.0
#2 lore raw

I didn't check the performance, because this misprint has been found accidentally, during studying of a RCU/SRCU code.

2018-01-30 8:37 GMT+03:00 Paul E. McKenney <[email protected]>:

Quoted 31 lines · Ildar Ismagilov
Quoted 1 line

The original does look backwards, now that you mention it, thank you for sending it.

Did you see any performance differences from this patch?

Thanx, Paul

Quoted 20 lines
---
 kernel/rcu/srcutree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/rcu/srcutree.c +1 -2
index 6d5880089ff6..1798d1aa60fa 100644
@@ -599,7 +599,7 @@ static void srcu_funnel_exp_start(struct srcu_struct *sp, struct srcu_node *snp,
              raw_spin_unlock_irqrestore_rcu_node(snp, flags);
      }
      raw_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;
      raw_spin_unlock_irqrestore_rcu_node(sp, flags);
 }
--

2.11.0

Signature · 2 lines
Best regards
Ildar