DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
	David Hunt <david.hunt@intel.com>,
	Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>,
	Ruifeng Wang <ruifeng.wang@arm.com>,
	Sameh Gobriel <sameh.gobriel@intel.com>,
	Tyler Retzlaff <roretzla@linux.microsoft.com>,
	Vladimir Medvedkin <vladimir.medvedkin@intel.com>,
	Yipeng Wang <yipeng1.wang@intel.com>,
	mb@smartsharesystems.com
Subject: [PATCH v3 4/7] rcu: use abstracted bit count functions
Date: Tue,  7 Nov 2023 15:38:17 -0800	[thread overview]
Message-ID: <1699400300-22545-5-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1699400300-22545-1-git-send-email-roretzla@linux.microsoft.com>

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(-)

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);
-- 
1.8.3.1


  parent reply	other threads:[~2023-11-07 23:38 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-02  1:05 [PATCH 0/5] " Tyler Retzlaff
2023-11-02  1:05 ` [PATCH 1/5] table: " Tyler Retzlaff
2023-11-02  1:05 ` [PATCH 2/5] distributor: " Tyler Retzlaff
2023-11-02  1:05 ` [PATCH 3/5] hash: " Tyler Retzlaff
2023-11-02  1:05 ` [PATCH 4/5] member: " Tyler Retzlaff
2023-11-02  1:05 ` [PATCH 5/5] rcu: " Tyler Retzlaff
2023-11-02  7:39 ` [PATCH 0/5] " Morten Brørup
2023-11-02 15:27   ` Tyler Retzlaff
2023-11-02 15:33     ` Morten Brørup
2023-11-02 15:36       ` Tyler Retzlaff
2023-11-07 19:10 ` [PATCH v2 " Tyler Retzlaff
2023-11-07 19:10   ` [PATCH v2 1/5] distributor: " Tyler Retzlaff
2023-11-07 19:10   ` [PATCH v2 2/5] hash: " Tyler Retzlaff
2023-11-07 19:10   ` [PATCH v2 3/5] member: " Tyler Retzlaff
2023-11-07 19:10   ` [PATCH v2 4/5] rcu: " Tyler Retzlaff
2023-11-07 19:10   ` [PATCH v2 5/5] table: " Tyler Retzlaff
2023-11-08  8:25   ` [PATCH v2 0/5] " Morten Brørup
2023-11-07 23:38 ` [PATCH v3 0/7] " Tyler Retzlaff
2023-11-07 23:38   ` [PATCH v3 1/7] distributor: " Tyler Retzlaff
2023-11-07 23:38   ` [PATCH v3 2/7] hash: " Tyler Retzlaff
2023-11-07 23:38   ` [PATCH v3 3/7] member: " Tyler Retzlaff
2023-11-07 23:38   ` Tyler Retzlaff [this message]
2023-11-07 23:38   ` [PATCH v3 5/7] table: " Tyler Retzlaff
2023-11-07 23:38   ` [PATCH v3 6/7] distributor: " Tyler Retzlaff
2023-11-07 23:38   ` [PATCH v3 7/7] hash: " Tyler Retzlaff
2023-11-08  8:47     ` CI test system not catching truncation bugs for 32-bit architectures? Morten Brørup
2023-11-08  8:34   ` [PATCH v3 0/7] use abstracted bit count functions Morten Brørup
2023-11-08 16:57     ` Thomas Monjalon
2023-11-08 18:42       ` Tyler Retzlaff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1699400300-22545-5-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=bruce.richardson@intel.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=mb@smartsharesystems.com \
    --cc=ruifeng.wang@arm.com \
    --cc=sameh.gobriel@intel.com \
    --cc=vladimir.medvedkin@intel.com \
    --cc=yipeng1.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).