[v3,4/7] rcu: use abstracted bit count functions

Message ID 1699400300-22545-5-git-send-email-roretzla@linux.microsoft.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series use abstracted bit count functions |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Tyler Retzlaff Nov. 7, 2023, 11:38 p.m. UTC
  Use rte_ctz32 or rte_ctz64 respectively instead of __builtin_ctzl
depending on the resultant type of the expression passed as an argument

Fixes: 18898c4d06f9 ("eal: use abstracted bit count functions")

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 lib/rcu/rte_rcu_qsbr.c | 4 ++--
 lib/rcu/rte_rcu_qsbr.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/lib/rcu/rte_rcu_qsbr.c b/lib/rcu/rte_rcu_qsbr.c
index 4dc7714..a9f3d6c 100644
--- a/lib/rcu/rte_rcu_qsbr.c
+++ b/lib/rcu/rte_rcu_qsbr.c
@@ -231,7 +231,7 @@ 
 					rte_memory_order_acquire);
 		id = i << __RTE_QSBR_THRID_INDEX_SHIFT;
 		while (bmap) {
-			t = __builtin_ctzl(bmap);
+			t = rte_ctz64(bmap);
 			fprintf(f, "%u ", id + t);
 
 			bmap &= ~(1UL << t);
@@ -252,7 +252,7 @@ 
 					rte_memory_order_acquire);
 		id = i << __RTE_QSBR_THRID_INDEX_SHIFT;
 		while (bmap) {
-			t = __builtin_ctzl(bmap);
+			t = rte_ctz64(bmap);
 			fprintf(f, "thread ID = %u, count = %" PRIu64 ", lock count = %u\n",
 				id + t,
 				rte_atomic_load_explicit(
diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h
index 9f4aed2..13461f8 100644
--- a/lib/rcu/rte_rcu_qsbr.h
+++ b/lib/rcu/rte_rcu_qsbr.h
@@ -530,7 +530,7 @@  struct rte_rcu_qsbr_dq_parameters {
 		id = i << __RTE_QSBR_THRID_INDEX_SHIFT;
 
 		while (bmap) {
-			j = __builtin_ctzl(bmap);
+			j = rte_ctz64(bmap);
 			__RTE_RCU_DP_LOG(DEBUG,
 				"%s: check: token = %" PRIu64 ", wait = %d, Bit Map = 0x%" PRIx64 ", Thread ID = %d",
 				__func__, t, wait, bmap, id + j);