[v3,4/7] rcu: use abstracted bit count functions
Checks
Commit Message
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(-)
@@ -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(
@@ -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);