Debug print should use acked token value that was used for comparison.

Fixes: bf386ae377aa ("rcu: add additional debug logs")
Cc: sta...@dpdk.org

Reported-by: Nathan Brown <nathan.br...@arm.com>
Signed-off-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>
Reviewed-by: Nathan Brown <nathan.br...@arm.com>
---
 lib/rcu/rte_rcu_qsbr.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h
index f6a3731308..a7d6e63560 100644
--- a/lib/rcu/rte_rcu_qsbr.h
+++ b/lib/rcu/rte_rcu_qsbr.h
@@ -664,17 +664,20 @@ __rte_rcu_qsbr_check_all(struct rte_rcu_qsbr *v, uint64_t 
t, bool wait)
 static __rte_always_inline int
 rte_rcu_qsbr_check(struct rte_rcu_qsbr *v, uint64_t t, bool wait)
 {
+       uint64_t acked_token;
+
        RTE_ASSERT(v != NULL);
 
        /* Check if all the readers have already acknowledged this token */
-       if (likely(t <= rte_atomic_load_explicit(&v->acked_token,
-                                               rte_memory_order_relaxed))) {
+       acked_token = rte_atomic_load_explicit(&v->acked_token,
+                                               rte_memory_order_relaxed);
+       if (likely(t <= acked_token)) {
                __RTE_RCU_DP_LOG(DEBUG,
                        "%s: check: token = %" PRIu64 ", wait = %d",
                        __func__, t, wait);
                __RTE_RCU_DP_LOG(DEBUG,
                        "%s: status: least acked token = %" PRIu64,
-                       __func__, v->acked_token);
+                       __func__, acked_token);
                return 1;
        }
 
-- 
2.34.1

Reply via email to