Skip to contentSkip to conversation

use rte macros instead of GCC __attribute

PATCH Superseded Tyler Retzlaff 6 participants 29 messages Feb 27, 2024 – Oct 9, 2024 Network drivers

lore
Share & tools
lore
#0 lore raw

cover use rte macros instead of GCC __attribute

Clean up direct uses of GCC __attribute__ in libs outside of EAL. A checkpatch check already warns for new additions.

Tyler Retzlaff (3):
eal: add rte pure attribute macro
lpm: use rte macro instead of GCC attribute
rcu: use rte macro instead of GCC attribute

 lib/eal/include/rte_common.h | 9 +++++++++
 lib/lpm/rte_lpm.c            | 4 ++--
 lib/lpm/rte_lpm6.c           | 2 +-
 lib/rcu/rcu_qsbr_pvt.h       | 2 +-
 4 files changed, 13 insertions(+), 4 deletions(-)
Signature · 1 line
1.8.3.1
#1 lore raw

PATCH 1/3 eal: add rte pure attribute macro

Add __rte_pure for __attribute__((pure)) to permit elimination of direct use of __attribute__((pure)) in other libs.

---
 lib/eal/include/rte_common.h | 9 +++++++++
 1 file changed, 9 insertions(+)
lib/eal/include/rte_common.h +9 -0
index 1cc1222..354b149 100644
@@ -125,6 +125,15 @@
 #define __rte_weak __attribute__((__weak__))
 
 /**
+ * Mark a function to be pure.
+ */
+#ifdef RTE_TOOLCHAIN_MSVC
+#define __rte_pure
+#else
+#define __rte_pure __attribute__((pure))
+#endif
+
+/**
  * Force symbol to be generated even if it appears to be unused.
  */
 #ifdef RTE_TOOLCHAIN_MSVC
Signature · 1 line
1.8.3.1
#2 lore raw

PATCH 2/3 lpm: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Use newly added __rte_pure macro from rte_common.h instead of directly using __attribute__((pure)).

---
 lib/lpm/rte_lpm.c  | 4 ++--
 lib/lpm/rte_lpm6.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
lib/lpm/rte_lpm.c +2 -2
index 9633d63..a5c9e7c 100644
@@ -85,7 +85,7 @@ struct __rte_lpm {
  * depth  (IN)		: range = 1 - 32
  * mask   (OUT)		: 32bit mask
  */
-static uint32_t __attribute__((pure))
+static uint32_t __rte_pure
 depth_to_mask(uint8_t depth)
 {
 	VERIFY_DEPTH(depth);
@@ -99,7 +99,7 @@ static uint32_t __attribute__((pure))
 /*
  * Converts given depth value to its corresponding range value.
  */
-static uint32_t __attribute__((pure))
+static uint32_t __rte_pure
 depth_to_range(uint8_t depth)
 {
 	VERIFY_DEPTH(depth);
lib/lpm/rte_lpm6.c +1 -1
index 271bc48..2bdd540 100644
@@ -1127,7 +1127,7 @@ struct rte_lpm6 *
  * Convert a depth to a one byte long mask
  *   Example: 4 will be converted to 0xF0
  */
-static uint8_t __attribute__((pure))
+static uint8_t __rte_pure
 depth_to_mask_1b(uint8_t depth)
 {
 	/* To calculate a mask start with a 1 on the left hand side and right
Signature · 1 line
1.8.3.1
#3 lore raw

PATCH 3/3 rcu: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Use existing __rte_pure macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 lib/rcu/rcu_qsbr_pvt.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
lib/rcu/rcu_qsbr_pvt.h +1 -1
index 5fd7ca2..39b0d50 100644
@@ -53,6 +53,6 @@ struct rte_rcu_qsbr_dq {
 typedef struct {
 	uint64_t token;  /**< Token */
 	uint8_t elem[0]; /**< Pointer to user element */
-} __attribute__((__may_alias__)) __rte_rcu_qsbr_dq_elem_t;
+} __rte_may_alias __rte_rcu_qsbr_dq_elem_t;
 
 #endif /* _RTE_RCU_QSBR_PVT_H_ */
Signature · 1 line
1.8.3.1
Reviewed-by on v1 3/3
#4 lore raw

RE: [PATCH 3/3] rcu: use rte macro instead of GCC attribute

Quoted 4 lines

From: Tyler Retzlaff [mailto:[email protected]]
Sent: Wednesday, 28 February 2024 00.08

Use existing __rte_pure macro from rte_common.h instead of directly

Typo: __rte_pure -> __rte_may_alias

The code is correct, only the description has the typo.

Quoted 4 lines

using __attribute__((__may_alias__)).

---

With the typo corrected,
For the series,

#5 lore raw

Re: [PATCH 3/3] rcu: use rte macro instead of GCC attribute

Quoted 7 lines · Morten Brørup
Quoted 4 lines

From: Tyler Retzlaff [mailto:[email protected]]
Sent: Wednesday, 28 February 2024 00.08

Use existing __rte_pure macro from rte_common.h instead of directly

Typo: __rte_pure -> __rte_may_alias

Quoted 8 lines

The code is correct, only the description has the typo.

Quoted 4 lines

using __attribute__((__may_alias__)).

---

With the typo corrected,

bah, i get tired :)

thanks.

Quoted 2 lines

For the series,

#6 lore raw

v2 cover use rte macros instead of GCC __attribute

In reply to Tyler Retzlaff

Clean up direct uses of GCC __attribute__ in libs outside of EAL. A checkpatch check already warns for new additions.

v2:
* fix typo __rte_pure -> __rte_may_alias in rcu commit message

Tyler Retzlaff (3):
eal: add rte pure attribute macro
lpm: use rte macro instead of GCC attribute
rcu: use rte macro instead of GCC attribute

 lib/eal/include/rte_common.h | 9 +++++++++
 lib/lpm/rte_lpm.c            | 4 ++--
 lib/lpm/rte_lpm6.c           | 2 +-
 lib/rcu/rcu_qsbr_pvt.h       | 2 +-
 4 files changed, 13 insertions(+), 4 deletions(-)
Signature · 1 line
1.8.3.1
#7 lore raw

PATCH v2 1/3 eal: add rte pure attribute macro

Add __rte_pure for __attribute__((pure)) to permit elimination of direct use of __attribute__((pure)) in other libs.

---
 lib/eal/include/rte_common.h | 9 +++++++++
 1 file changed, 9 insertions(+)
lib/eal/include/rte_common.h +9 -0
index 1cc1222..354b149 100644
@@ -125,6 +125,15 @@
 #define __rte_weak __attribute__((__weak__))
 
 /**
+ * Mark a function to be pure.
+ */
+#ifdef RTE_TOOLCHAIN_MSVC
+#define __rte_pure
+#else
+#define __rte_pure __attribute__((pure))
+#endif
+
+/**
  * Force symbol to be generated even if it appears to be unused.
  */
 #ifdef RTE_TOOLCHAIN_MSVC
Signature · 1 line
1.8.3.1
#8 lore raw

PATCH v2 2/3 lpm: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Use newly added __rte_pure macro from rte_common.h instead of directly using __attribute__((pure)).

---
 lib/lpm/rte_lpm.c  | 4 ++--
 lib/lpm/rte_lpm6.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
lib/lpm/rte_lpm.c +2 -2
index 9633d63..a5c9e7c 100644
@@ -85,7 +85,7 @@ struct __rte_lpm {
  * depth  (IN)		: range = 1 - 32
  * mask   (OUT)		: 32bit mask
  */
-static uint32_t __attribute__((pure))
+static uint32_t __rte_pure
 depth_to_mask(uint8_t depth)
 {
 	VERIFY_DEPTH(depth);
@@ -99,7 +99,7 @@ static uint32_t __attribute__((pure))
 /*
  * Converts given depth value to its corresponding range value.
  */
-static uint32_t __attribute__((pure))
+static uint32_t __rte_pure
 depth_to_range(uint8_t depth)
 {
 	VERIFY_DEPTH(depth);
lib/lpm/rte_lpm6.c +1 -1
index 271bc48..2bdd540 100644
@@ -1127,7 +1127,7 @@ struct rte_lpm6 *
  * Convert a depth to a one byte long mask
  *   Example: 4 will be converted to 0xF0
  */
-static uint8_t __attribute__((pure))
+static uint8_t __rte_pure
 depth_to_mask_1b(uint8_t depth)
 {
 	/* To calculate a mask start with a 1 on the left hand side and right
Signature · 1 line
1.8.3.1
Acked-by on v2 2/3
#9 lore raw

Re: [PATCH v2 2/3] lpm: use rte macro instead of GCC attribute

Quoted 45 lines · Tyler Retzlaff

Use newly added __rte_pure macro from rte_common.h instead of directly using __attribute__((pure)).

---
  lib/lpm/rte_lpm.c  | 4 ++--
  lib/lpm/rte_lpm6.c | 2 +-
  2 files changed, 3 insertions(+), 3 deletions(-)
lib/lpm/rte_lpm.c +2 -2
index 9633d63..a5c9e7c 100644
@@ -85,7 +85,7 @@ struct __rte_lpm {
   * depth  (IN)		: range = 1 - 32
   * mask   (OUT)		: 32bit mask
   */
-static uint32_t __attribute__((pure))
+static uint32_t __rte_pure
  depth_to_mask(uint8_t depth)
  {
  	VERIFY_DEPTH(depth);
@@ -99,7 +99,7 @@ static uint32_t __attribute__((pure))
  /*
   * Converts given depth value to its corresponding range value.
   */
-static uint32_t __attribute__((pure))
+static uint32_t __rte_pure
  depth_to_range(uint8_t depth)
  {
  	VERIFY_DEPTH(depth);
lib/lpm/rte_lpm6.c +1 -1
index 271bc48..2bdd540 100644
@@ -1127,7 +1127,7 @@ struct rte_lpm6 *
   * Convert a depth to a one byte long mask
   *   Example: 4 will be converted to 0xF0
   */
-static uint8_t __attribute__((pure))
+static uint8_t __rte_pure
  depth_to_mask_1b(uint8_t depth)
  {
  	/* To calculate a mask start with a 1 on the left hand side and right
Signature · 2 lines
Regards,
Vladimir
#10 lore raw

PATCH v2 3/3 rcu: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 lib/rcu/rcu_qsbr_pvt.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
lib/rcu/rcu_qsbr_pvt.h +1 -1
index 5fd7ca2..39b0d50 100644
@@ -53,6 +53,6 @@ struct rte_rcu_qsbr_dq {
 typedef struct {
 	uint64_t token;  /**< Token */
 	uint8_t elem[0]; /**< Pointer to user element */
-} __attribute__((__may_alias__)) __rte_rcu_qsbr_dq_elem_t;
+} __rte_may_alias __rte_rcu_qsbr_dq_elem_t;
 
 #endif /* _RTE_RCU_QSBR_PVT_H_ */
Signature · 1 line
1.8.3.1
#11 lore raw
In reply to Tyler Retzlaff

ping.

Doesn't seem this series carries high risk, worth considering for rc2/rc3?

Quoted 19 lines · Tyler Retzlaff

Clean up direct uses of GCC __attribute__ in libs outside of EAL. A checkpatch check already warns for new additions.

v2:
* fix typo __rte_pure -> __rte_may_alias in rcu commit message

Tyler Retzlaff (3):
eal: add rte pure attribute macro
lpm: use rte macro instead of GCC attribute
rcu: use rte macro instead of GCC attribute

 lib/eal/include/rte_common.h | 9 +++++++++
 lib/lpm/rte_lpm.c            | 4 ++--
 lib/lpm/rte_lpm6.c           | 2 +-
 lib/rcu/rcu_qsbr_pvt.h       | 2 +-
 4 files changed, 13 insertions(+), 4 deletions(-)
Signature · 1 line
1.8.3.1
#12 lore raw
In reply to Tyler Retzlaff
Quoted 12 lines · Tyler Retzlaff

Clean up direct uses of GCC __attribute__ in libs outside of EAL. A checkpatch check already warns for new additions.

v2:
* fix typo __rte_pure -> __rte_may_alias in rcu commit message

Tyler Retzlaff (3):
eal: add rte pure attribute macro
lpm: use rte macro instead of GCC attribute
rcu: use rte macro instead of GCC attribute

Quoted 5 lines
 lib/eal/include/rte_common.h | 9 +++++++++
 lib/lpm/rte_lpm.c            | 4 ++--
 lib/lpm/rte_lpm6.c           | 2 +-
 lib/rcu/rcu_qsbr_pvt.h       | 2 +-
 4 files changed, 13 insertions(+), 4 deletions(-)

Introducing __rte_pure and converting lib/lpm looks fine. But please finish the job for the other occurence in the tree as it is a mechanical change.

Thanks.

Signature · 1 line
David Marchand
#13 lore raw
Quoted 20 lines · David Marchand
Quoted 12 lines · Tyler Retzlaff

Clean up direct uses of GCC __attribute__ in libs outside of EAL. A checkpatch check already warns for new additions.

v2:
* fix typo __rte_pure -> __rte_may_alias in rcu commit message

Tyler Retzlaff (3):
eal: add rte pure attribute macro
lpm: use rte macro instead of GCC attribute
rcu: use rte macro instead of GCC attribute

Quoted 5 lines
 lib/eal/include/rte_common.h | 9 +++++++++
 lib/lpm/rte_lpm.c            | 4 ++--
 lib/lpm/rte_lpm6.c           | 2 +-
 lib/rcu/rcu_qsbr_pvt.h       | 2 +-
 4 files changed, 13 insertions(+), 4 deletions(-)
Quoted 3 lines

Introducing __rte_pure and converting lib/lpm looks fine. But please finish the job for the other occurence in the tree as it is a mechanical change.

Sure, it's trivial that I don't have to burn it in on lib first.

Will submit an updated rev.

Quoted 5 lines

Thanks.

Signature · 1 line
David Marchand
#14 lore raw

v3 cover use rte macros instead of GCC __attribute

In reply to Tyler Retzlaff

Clean up direct uses of GCC __attribute__((__pure__)) and __attribute__((__may_alias__)). A checkpatch check already warns for new additions.

v3:
* update series to clean app/drivers/lib

v2:
* fix typo __rte_pure -> __rte_may_alias in rcu commit message

Tyler Retzlaff (5):
eal: add rte pure attribute macro
lpm: use rte macro instead of GCC attribute
rcu: use rte macro instead of GCC attribute app/test: use rte macro instead of GCC attribute net/cxgbe: use rte macro instead of GCC attribute

 app/test-fib/main.c              | 4 ++--
 drivers/net/cxgbe/base/common.h  | 2 +-
 drivers/net/cxgbe/base/t4_hw.c   | 2 +-
 drivers/net/cxgbe/base/t4vf_hw.c | 2 +-
 lib/eal/include/rte_common.h     | 9 +++++++++
 lib/lpm/rte_lpm.c                | 4 ++--
 lib/lpm/rte_lpm6.c               | 2 +-
 lib/rcu/rcu_qsbr_pvt.h           | 2 +-
 8 files changed, 18 insertions(+), 9 deletions(-)
Signature · 1 line
1.8.3.1
#15 lore raw

PATCH v3 1/5 eal: add rte pure attribute macro

Add __rte_pure for __attribute__((pure)) to permit elimination of direct use of __attribute__((pure)) in other libs.

---
 lib/eal/include/rte_common.h | 9 +++++++++
 1 file changed, 9 insertions(+)
lib/eal/include/rte_common.h +9 -0
index 298a5c6..b15a5b2 100644
@@ -137,6 +137,15 @@
 #define __rte_weak __attribute__((__weak__))
 
 /**
+ * Mark a function to be pure.
+ */
+#ifdef RTE_TOOLCHAIN_MSVC
+#define __rte_pure
+#else
+#define __rte_pure __attribute__((pure))
+#endif
+
+/**
  * Force symbol to be generated even if it appears to be unused.
  */
 #ifdef RTE_TOOLCHAIN_MSVC
Signature · 1 line
1.8.3.1
#16 lore raw

PATCH v3 2/5 lpm: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Use newly added __rte_pure macro from rte_common.h instead of directly using __attribute__((pure)).

---
 lib/lpm/rte_lpm.c  | 4 ++--
 lib/lpm/rte_lpm6.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
lib/lpm/rte_lpm.c +2 -2
index 9633d63..a5c9e7c 100644
@@ -85,7 +85,7 @@ struct __rte_lpm {
  * depth  (IN)		: range = 1 - 32
  * mask   (OUT)		: 32bit mask
  */
-static uint32_t __attribute__((pure))
+static uint32_t __rte_pure
 depth_to_mask(uint8_t depth)
 {
 	VERIFY_DEPTH(depth);
@@ -99,7 +99,7 @@ static uint32_t __attribute__((pure))
 /*
  * Converts given depth value to its corresponding range value.
  */
-static uint32_t __attribute__((pure))
+static uint32_t __rte_pure
 depth_to_range(uint8_t depth)
 {
 	VERIFY_DEPTH(depth);
lib/lpm/rte_lpm6.c +1 -1
index 46d8f71..42828a1 100644
@@ -1128,7 +1128,7 @@ struct rte_lpm6 *
  * Convert a depth to a one byte long mask
  *   Example: 4 will be converted to 0xF0
  */
-static uint8_t __attribute__((pure))
+static uint8_t __rte_pure
 depth_to_mask_1b(uint8_t depth)
 {
 	/* To calculate a mask start with a 1 on the left hand side and right
Signature · 1 line
1.8.3.1
#17 lore raw

PATCH v3 3/5 rcu: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 lib/rcu/rcu_qsbr_pvt.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
lib/rcu/rcu_qsbr_pvt.h +1 -1
index 5fd7ca2..39b0d50 100644
@@ -53,6 +53,6 @@ struct rte_rcu_qsbr_dq {
 typedef struct {
 	uint64_t token;  /**< Token */
 	uint8_t elem[0]; /**< Pointer to user element */
-} __attribute__((__may_alias__)) __rte_rcu_qsbr_dq_elem_t;
+} __rte_may_alias __rte_rcu_qsbr_dq_elem_t;
 
 #endif /* _RTE_RCU_QSBR_PVT_H_ */
Signature · 1 line
1.8.3.1
#18 lore raw

PATCH v3 4/5 app/test: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Use newly added __rte_pure macro from rte_common.h instead of directly using __attribute__((pure)).

---
 app/test-fib/main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
app/test-fib/main.c +2 -2
index 75a5613..c49bfe8 100644
@@ -137,13 +137,13 @@ struct rt_rule_6 {
 		return (rte_rand() % (u - l) + l);
 }
 
-static __rte_always_inline __attribute__((pure)) uint8_t
+static __rte_always_inline __rte_pure uint8_t
 bits_in_nh(uint8_t nh_sz)
 {
 	return 8 * (1 << nh_sz);
 }
 
-static  __rte_always_inline __attribute__((pure)) uint64_t
+static  __rte_always_inline __rte_pure uint64_t
 get_max_nh(uint8_t nh_sz)
 {
 	/* min between fib and lpm6 which is 21 bits */
Signature · 1 line
1.8.3.1
#20 lore raw

PATCH v3 5/5 net/cxgbe: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 drivers/net/cxgbe/base/common.h  | 2 +-
 drivers/net/cxgbe/base/t4_hw.c   | 2 +-
 drivers/net/cxgbe/base/t4vf_hw.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/cxgbe/base/common.h +1 -1
index 4482ddb..8dc7fab 100644
@@ -428,7 +428,7 @@ static inline unsigned int core_ticks_to_us(const struct adapter *adapter,
 int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd,
 			    int size, void *rpl, bool sleep_ok, int timeout);
 int t4_wr_mbox_meat(struct adapter *adap, int mbox,
-		    const void __attribute__((__may_alias__)) *cmd, int size,
+		    const void __rte_may_alias *cmd, int size,
 		    void *rpl, bool sleep_ok);
 
 static inline int t4_wr_mbox_timeout(struct adapter *adap, int mbox,
drivers/net/cxgbe/base/t4_hw.c +1 -1
index bed755f..d02da39 100644
@@ -291,7 +291,7 @@ static void fw_asrt(struct adapter *adap, u32 mbox_addr)
  * the return value is the error code indicated by FW (negated).
  */
 int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
-			    const void __attribute__((__may_alias__)) *cmd,
+			    const void __rte_may_alias *cmd,
 			    int size, void *rpl, bool sleep_ok, int timeout)
 {
 	/*
drivers/net/cxgbe/base/t4vf_hw.c +1 -1
index 46d24a6..573ccb1 100644
@@ -68,7 +68,7 @@ static void get_mbox_rpl(struct adapter *adap, __be64 *rpl, int nflit,
  * the return value is the error code indicated by FW (negated).
  */
 int t4vf_wr_mbox_core(struct adapter *adapter,
-		      const void __attribute__((__may_alias__)) *cmd,
+		      const void __rte_may_alias *cmd,
 		      int size, void *rpl, bool sleep_ok)
 {
 	/*
Signature · 1 line
1.8.3.1
#22 lore raw

Re: [PATCH v3 5/5] net/cxgbe: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff

Hello,

Quoted 10 lines · Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 drivers/net/cxgbe/base/common.h  | 2 +-
 drivers/net/cxgbe/base/t4_hw.c   | 2 +-
 drivers/net/cxgbe/base/t4vf_hw.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

Adding cxgbe maintainer.

This patch is touching base/ driver code.
Rahul, is this change ok for you?

Signature · 1 line
David Marchand
#23 lore raw

Re: [PATCH v3 5/5] net/cxgbe: use rte macro instead of GCC attribute

Hello Rahul,

Quoted 14 lines · David Marchand
Quoted 10 lines · Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 drivers/net/cxgbe/base/common.h  | 2 +-
 drivers/net/cxgbe/base/t4_hw.c   | 2 +-
 drivers/net/cxgbe/base/t4vf_hw.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Quoted 4 lines

Adding cxgbe maintainer.

This patch is touching base/ driver code.
Rahul, is this change ok for you?

I got a bounce on the previous mail.
Trying again.

Signature · 1 line
David Marchand
#24 lore raw

Re: [PATCH v3 5/5] net/cxgbe: use rte macro instead of GCC attribute

Quoted 17 lines · David Marchand
Quoted 14 lines · David Marchand
Quoted 10 lines · Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 drivers/net/cxgbe/base/common.h  | 2 +-
 drivers/net/cxgbe/base/t4_hw.c   | 2 +-
 drivers/net/cxgbe/base/t4vf_hw.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Quoted 7 lines
Quoted 4 lines

Adding cxgbe maintainer.

This patch is touching base/ driver code.
Rahul, is this change ok for you?

I got a bounce on the previous mail.
Trying again.

So again, no luck.
I tried to contact some people at chelsio.

I'll keep this patch on hold for now but apply the rest of the series.

Signature · 1 line
David Marchand
#25 lore raw

Re: [PATCH v3 5/5] net/cxgbe: use rte macro instead of GCC attribute

Quoted 24 lines · On Thu, 13 Jun 2024 16:05:10 +0200 David Marchand <[email protected]>…
Quoted 22 lines · David Marchand
Quoted 18 lines · David Marchand
Quoted 10 lines · Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 drivers/net/cxgbe/base/common.h  | 2 +-
 drivers/net/cxgbe/base/t4_hw.c   | 2 +-
 drivers/net/cxgbe/base/t4vf_hw.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)  

Adding cxgbe maintainer.

This patch is touching base/ driver code.
Rahul, is this change ok for you?

Quoted 9 lines
Quoted 2 lines

I got a bounce on the previous mail.
Trying again.

So again, no luck.
I tried to contact some people at chelsio.

I'll keep this patch on hold for now but apply the rest of the series.

Cleaning up the outstanding patch list.

Could we get an ack from the new maintainer?

#26 lore raw

Re: [PATCH v3 5/5] net/cxgbe: use rte macro instead of GCC attribute

Quoted 33 lines · Stephen Hemminger
Quoted 30 lines · On Thu, 13 Jun 2024 16:05:10 +0200 David Marchand <[email protected]>…
Quoted 17 lines · David Marchand
Quoted 14 lines · David Marchand
Quoted 10 lines · Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

---
 drivers/net/cxgbe/base/common.h  | 2 +-
 drivers/net/cxgbe/base/t4_hw.c   | 2 +-
 drivers/net/cxgbe/base/t4vf_hw.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)  
Quoted 7 lines
Quoted 4 lines

Adding cxgbe maintainer.

This patch is touching base/ driver code.
Rahul, is this change ok for you?

I got a bounce on the previous mail.
Trying again.

So again, no luck.
I tried to contact some people at chelsio.

Quoted 7 lines
Quoted 3 lines

I'll keep this patch on hold for now but apply the rest of the series.

Cleaning up the outstanding patch list.

Could we get an ack from the new maintainer?

reviewed it here: https://lore.kernel.org/dpdk-dev/[email protected]/T/#m61bf7e81f61ce7d713872184d033078f37f903bb

Reviewed-by Morten Brørup Reviewed-by Potnuri Bharat Teja on v3 5/5 Applied
#27 lore raw

Re: [PATCH v3 5/5] net/cxgbe: use rte macro instead of GCC attribute

In reply to Tyler Retzlaff
Quoted 5 lines · Tyler Retzlaff

Use existing __rte_may_alias macro from rte_common.h instead of directly using __attribute__((__may_alias__)).

Applied, thanks.

Signature · 1 line
David Marchand
#28 lore raw
In reply to Tyler Retzlaff
Quoted 5 lines · Tyler Retzlaff

Clean up direct uses of GCC __attribute__((__pure__)) and __attribute__((__may_alias__)). A checkpatch check already warns for new additions.

Quoted 7 lines

Tyler Retzlaff (5):
eal: add rte pure attribute macro
lpm: use rte macro instead of GCC attribute
rcu: use rte macro instead of GCC attribute app/test: use rte macro instead of GCC attribute net/cxgbe: use rte macro instead of GCC attribute

As explained in response to patch 5, I did not apply the last patch for now. Patch 1-4 applied, thanks for the cleanup Tyler.

Signature · 1 line
David Marchand