DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net, techboard@dpdk.org,
	Joyce Kong <joyce.kong@arm.com>,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH] bitops: mark new symbols as stable
Date: Wed, 18 Oct 2023 11:11:22 +0200	[thread overview]
Message-ID: <20231018091123.1594324-1-david.marchand@redhat.com> (raw)

Calling an experimental symbol from an inline helper triggers a warning
when such code is not compiled with experimental API.
This can be seen when rte_bitops.h gets (indirectly) included in OVS
builds.

On the other hand, rte_clz32, rte_clz64, rte_ctz32, rte_ctz64,
rte_popcount32, rte_popcount64 are inline helpers for abstracting common
bit counting functions. This part of the API is unlikely to change.

Mark those symbols as stable.

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

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
Copying Techboard for info, as this goes against the usual policy of
marking new API as experimental.

---
 lib/eal/include/rte_bitops.h | 48 ------------------------------------
 1 file changed, 48 deletions(-)

diff --git a/lib/eal/include/rte_bitops.h b/lib/eal/include/rte_bitops.h
index 6b8ae8d3ac..174d25216d 100644
--- a/lib/eal/include/rte_bitops.h
+++ b/lib/eal/include/rte_bitops.h
@@ -280,9 +280,6 @@ rte_bit_relaxed_test_and_clear64(unsigned int nr, volatile uint64_t *addr)
 #ifdef RTE_TOOLCHAIN_MSVC
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of leading 0-bits in v.
  *
  * @param v
@@ -290,7 +287,6 @@ rte_bit_relaxed_test_and_clear64(unsigned int nr, volatile uint64_t *addr)
  * @return
  *   The count of leading zero bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_clz32(uint32_t v)
 {
@@ -302,9 +298,6 @@ rte_clz32(uint32_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of leading 0-bits in v.
  *
  * @param v
@@ -312,7 +305,6 @@ rte_clz32(uint32_t v)
  * @return
  *   The count of leading zero bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_clz64(uint64_t v)
 {
@@ -324,9 +316,6 @@ rte_clz64(uint64_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of trailing 0-bits in v.
  *
  * @param v
@@ -334,7 +323,6 @@ rte_clz64(uint64_t v)
  * @return
  *   The count of trailing zero bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_ctz32(uint32_t v)
 {
@@ -346,9 +334,6 @@ rte_ctz32(uint32_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of trailing 0-bits in v.
  *
  * @param v
@@ -356,7 +341,6 @@ rte_ctz32(uint32_t v)
  * @return
  *   The count of trailing zero bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_ctz64(uint64_t v)
 {
@@ -368,9 +352,6 @@ rte_ctz64(uint64_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of 1-bits in v.
  *
  * @param v
@@ -378,7 +359,6 @@ rte_ctz64(uint64_t v)
  * @return
  *   The count of 1-bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_popcount32(uint32_t v)
 {
@@ -386,9 +366,6 @@ rte_popcount32(uint32_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of 1-bits in v.
  *
  * @param v
@@ -396,7 +373,6 @@ rte_popcount32(uint32_t v)
  * @return
  *   The count of 1-bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_popcount64(uint64_t v)
 {
@@ -406,9 +382,6 @@ rte_popcount64(uint64_t v)
 #else
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of leading 0-bits in v.
  *
  * @param v
@@ -416,7 +389,6 @@ rte_popcount64(uint64_t v)
  * @return
  *   The count of leading zero bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_clz32(uint32_t v)
 {
@@ -424,9 +396,6 @@ rte_clz32(uint32_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of leading 0-bits in v.
  *
  * @param v
@@ -434,7 +403,6 @@ rte_clz32(uint32_t v)
  * @return
  *   The count of leading zero bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_clz64(uint64_t v)
 {
@@ -442,9 +410,6 @@ rte_clz64(uint64_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of trailing 0-bits in v.
  *
  * @param v
@@ -452,7 +417,6 @@ rte_clz64(uint64_t v)
  * @return
  *   The count of trailing zero bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_ctz32(uint32_t v)
 {
@@ -460,9 +424,6 @@ rte_ctz32(uint32_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of trailing 0-bits in v.
  *
  * @param v
@@ -470,7 +431,6 @@ rte_ctz32(uint32_t v)
  * @return
  *   The count of trailing zero bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_ctz64(uint64_t v)
 {
@@ -478,9 +438,6 @@ rte_ctz64(uint64_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of 1-bits in v.
  *
  * @param v
@@ -488,7 +445,6 @@ rte_ctz64(uint64_t v)
  * @return
  *   The count of 1-bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_popcount32(uint32_t v)
 {
@@ -496,9 +452,6 @@ rte_popcount32(uint32_t v)
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
  * Get the count of 1-bits in v.
  *
  * @param v
@@ -506,7 +459,6 @@ rte_popcount32(uint32_t v)
  * @return
  *   The count of 1-bits.
  */
-__rte_experimental
 static inline unsigned int
 rte_popcount64(uint64_t v)
 {
-- 
2.41.0


             reply	other threads:[~2023-10-18  9:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-18  9:11 David Marchand [this message]
2023-10-23  7:09 ` Joyce Kong
2023-10-23  8:47   ` Kevin Traynor
2023-10-23 14:08     ` David Marchand

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=20231018091123.1594324-1-david.marchand@redhat.com \
    --to=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=joyce.kong@arm.com \
    --cc=roretzla@linux.microsoft.com \
    --cc=techboard@dpdk.org \
    --cc=thomas@monjalon.net \
    /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).