DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro
@ 2018-08-03 14:05 Keith Wiles
  2018-08-03 14:05 ` [dpdk-dev] [PATCH 02/10] qat: update code to use " Keith Wiles
                   ` (9 more replies)
  0 siblings, 10 replies; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:05 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 lib/librte_eal/common/include/rte_common.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
index 069c13ec7..2c4535b1a 100644
--- a/lib/librte_eal/common/include/rte_common.h
+++ b/lib/librte_eal/common/include/rte_common.h
@@ -68,6 +68,11 @@ typedef uint16_t unaligned_uint16_t;
 /******* Macro to mark functions and fields scheduled for removal *****/
 #define __rte_deprecated	__attribute__((__deprecated__))
 
+/**
+ * short definition to mark a function or variable to a weak reference.
+ */
+#define __rte_weak		__attribute__((__weak__))
+
 /*********** Macros to eliminate unused variable warnings ********/
 
 /**
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 02/10] qat: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
@ 2018-08-03 14:05 ` Keith Wiles
  2018-08-29  9:27   ` Jozwiak, TomaszX
  2018-08-03 14:05 ` [dpdk-dev] [PATCH 03/10] avf: " Keith Wiles
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:05 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/common/qat/qat_device.c | 12 ++++++------
 drivers/common/qat/qat_qp.c     |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/common/qat/qat_device.c b/drivers/common/qat/qat_device.c
index f32d72358..db01e5bc2 100644
--- a/drivers/common/qat/qat_device.c
+++ b/drivers/common/qat/qat_device.c
@@ -239,37 +239,37 @@ static struct rte_pci_driver rte_qat_pmd = {
 	.remove = qat_pci_remove
 };
 
-__attribute__((weak)) int
+__rte_weak int
 qat_sym_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_asym_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_sym_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_asym_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_comp_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_comp_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
diff --git a/drivers/common/qat/qat_qp.c b/drivers/common/qat/qat_qp.c
index 7ca7a45eb..11a2d2e90 100644
--- a/drivers/common/qat/qat_qp.c
+++ b/drivers/common/qat/qat_qp.c
@@ -635,7 +635,7 @@ qat_dequeue_op_burst(void *qp, void **ops, uint16_t nb_ops)
 	return resp_counter;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_comp_process_response(void **op __rte_unused, uint8_t *resp __rte_unused)
 {
 	return  0;
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 03/10] avf: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
  2018-08-03 14:05 ` [dpdk-dev] [PATCH 02/10] qat: update code to use " Keith Wiles
@ 2018-08-03 14:05 ` Keith Wiles
  2018-08-03 14:05 ` [dpdk-dev] [PATCH 04/10] fm10k: " Keith Wiles
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:05 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/net/avf/avf_rxtx.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c
index e03a136fc..1c1b1f05e 100644
--- a/drivers/net/avf/avf_rxtx.c
+++ b/drivers/net/avf/avf_rxtx.c
@@ -1925,7 +1925,7 @@ avf_dev_tx_desc_status(void *tx_queue, uint16_t offset)
 	return RTE_ETH_TX_DESC_FULL;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 avf_recv_pkts_vec(__rte_unused void *rx_queue,
 		  __rte_unused struct rte_mbuf **rx_pkts,
 		  __rte_unused uint16_t nb_pkts)
@@ -1933,7 +1933,7 @@ avf_recv_pkts_vec(__rte_unused void *rx_queue,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
 			    __rte_unused struct rte_mbuf **rx_pkts,
 			    __rte_unused uint16_t nb_pkts)
@@ -1941,7 +1941,7 @@ avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
 			 __rte_unused struct rte_mbuf **tx_pkts,
 			 __rte_unused uint16_t nb_pkts)
@@ -1949,13 +1949,13 @@ avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 avf_rxq_vec_setup(__rte_unused struct avf_rx_queue *rxq)
 {
 	return -1;
 }
 
-int __attribute__((weak))
+__rte_weak int
 avf_txq_vec_setup(__rte_unused struct avf_tx_queue *txq)
 {
 	return -1;
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 04/10] fm10k: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
  2018-08-03 14:05 ` [dpdk-dev] [PATCH 02/10] qat: update code to use " Keith Wiles
  2018-08-03 14:05 ` [dpdk-dev] [PATCH 03/10] avf: " Keith Wiles
@ 2018-08-03 14:05 ` Keith Wiles
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 05/10] i40e: " Keith Wiles
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:05 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/net/fm10k/fm10k_ethdev.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 541a49b75..e43b16d4e 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -129,13 +129,13 @@ fm10k_mbx_unlock(struct fm10k_hw *hw)
 }
 
 /* Stubs needed for linkage when vPMD is disabled */
-int __attribute__((weak))
+__rte_weak int
 fm10k_rx_vec_condition_check(__rte_unused struct rte_eth_dev *dev)
 {
 	return -1;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 fm10k_recv_pkts_vec(
 	__rte_unused void *rx_queue,
 	__rte_unused struct rte_mbuf **rx_pkts,
@@ -144,7 +144,7 @@ fm10k_recv_pkts_vec(
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 fm10k_recv_scattered_pkts_vec(
 		__rte_unused void *rx_queue,
 		__rte_unused struct rte_mbuf **rx_pkts,
@@ -153,33 +153,33 @@ fm10k_recv_scattered_pkts_vec(
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 fm10k_rxq_vec_setup(__rte_unused struct fm10k_rx_queue *rxq)
 
 {
 	return -1;
 }
 
-void __attribute__((weak))
+__rte_weak void
 fm10k_rx_queue_release_mbufs_vec(
 		__rte_unused struct fm10k_rx_queue *rxq)
 {
 	return;
 }
 
-void __attribute__((weak))
+__rte_weak void
 fm10k_txq_vec_setup(__rte_unused struct fm10k_tx_queue *txq)
 {
 	return;
 }
 
-int __attribute__((weak))
+__rte_weak int
 fm10k_tx_vec_condition_check(__rte_unused struct fm10k_tx_queue *txq)
 {
 	return -1;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 fm10k_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
 			   __rte_unused struct rte_mbuf **tx_pkts,
 			   __rte_unused uint16_t nb_pkts)
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 05/10] i40e: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
                   ` (2 preceding siblings ...)
  2018-08-03 14:05 ` [dpdk-dev] [PATCH 04/10] fm10k: " Keith Wiles
@ 2018-08-03 14:06 ` Keith Wiles
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 06/10] ixgbe: " Keith Wiles
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:06 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/net/i40e/i40e_rxtx.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 59a6a8adb..73499dfdd 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -3165,13 +3165,13 @@ i40e_set_default_pctype_table(struct rte_eth_dev *dev)
 }
 
 /* Stubs needed for linkage when CONFIG_RTE_I40E_INC_VECTOR is set to 'n' */
-int __attribute__((weak))
+__rte_weak int
 i40e_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
 {
 	return -1;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_recv_pkts_vec(
 	void __rte_unused *rx_queue,
 	struct rte_mbuf __rte_unused **rx_pkts,
@@ -3180,7 +3180,7 @@ i40e_recv_pkts_vec(
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_recv_scattered_pkts_vec(
 	void __rte_unused *rx_queue,
 	struct rte_mbuf __rte_unused **rx_pkts,
@@ -3189,7 +3189,7 @@ i40e_recv_scattered_pkts_vec(
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_recv_pkts_vec_avx2(void __rte_unused *rx_queue,
 			struct rte_mbuf __rte_unused **rx_pkts,
 			uint16_t __rte_unused nb_pkts)
@@ -3197,7 +3197,7 @@ i40e_recv_pkts_vec_avx2(void __rte_unused *rx_queue,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_recv_scattered_pkts_vec_avx2(void __rte_unused *rx_queue,
 			struct rte_mbuf __rte_unused **rx_pkts,
 			uint16_t __rte_unused nb_pkts)
@@ -3205,25 +3205,25 @@ i40e_recv_scattered_pkts_vec_avx2(void __rte_unused *rx_queue,
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 i40e_rxq_vec_setup(struct i40e_rx_queue __rte_unused *rxq)
 {
 	return -1;
 }
 
-int __attribute__((weak))
+__rte_weak int
 i40e_txq_vec_setup(struct i40e_tx_queue __rte_unused *txq)
 {
 	return -1;
 }
 
-void __attribute__((weak))
+__rte_weak void
 i40e_rx_queue_release_mbufs_vec(struct i40e_rx_queue __rte_unused*rxq)
 {
 	return;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_xmit_fixed_burst_vec(void __rte_unused * tx_queue,
 			  struct rte_mbuf __rte_unused **tx_pkts,
 			  uint16_t __rte_unused nb_pkts)
@@ -3231,7 +3231,7 @@ i40e_xmit_fixed_burst_vec(void __rte_unused * tx_queue,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_xmit_pkts_vec_avx2(void __rte_unused * tx_queue,
 			  struct rte_mbuf __rte_unused **tx_pkts,
 			  uint16_t __rte_unused nb_pkts)
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 06/10] ixgbe: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
                   ` (3 preceding siblings ...)
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 05/10] i40e: " Keith Wiles
@ 2018-08-03 14:06 ` Keith Wiles
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 07/10] mlx5: " Keith Wiles
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:06 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index f82b74a9a..510c36c4c 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -5715,13 +5715,13 @@ ixgbe_config_rss_filter(struct rte_eth_dev *dev,
 }
 
 /* Stubs needed for linkage when CONFIG_RTE_IXGBE_INC_VECTOR is set to 'n' */
-int __attribute__((weak))
+__rte_weak int
 ixgbe_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
 {
 	return -1;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 ixgbe_recv_pkts_vec(
 	void __rte_unused *rx_queue,
 	struct rte_mbuf __rte_unused **rx_pkts,
@@ -5730,7 +5730,7 @@ ixgbe_recv_pkts_vec(
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 ixgbe_recv_scattered_pkts_vec(
 	void __rte_unused *rx_queue,
 	struct rte_mbuf __rte_unused **rx_pkts,
@@ -5739,7 +5739,7 @@ ixgbe_recv_scattered_pkts_vec(
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 ixgbe_rxq_vec_setup(struct ixgbe_rx_queue __rte_unused *rxq)
 {
 	return -1;
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 07/10] mlx5: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
                   ` (4 preceding siblings ...)
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 06/10] ixgbe: " Keith Wiles
@ 2018-08-03 14:06 ` Keith Wiles
  2018-08-03 17:32   ` Yongseok Koh
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 08/10] virtio: " Keith Wiles
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:06 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index 2d14f8a6e..357c64838 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -2324,7 +2324,7 @@ removed_rx_burst(void *dpdk_txq __rte_unused,
  * (e.g.  mlx5_rxtx_vec_sse.c for x86).
  */
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 mlx5_tx_burst_raw_vec(void *dpdk_txq __rte_unused,
 		      struct rte_mbuf **pkts __rte_unused,
 		      uint16_t pkts_n __rte_unused)
@@ -2332,7 +2332,7 @@ mlx5_tx_burst_raw_vec(void *dpdk_txq __rte_unused,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 mlx5_tx_burst_vec(void *dpdk_txq __rte_unused,
 		  struct rte_mbuf **pkts __rte_unused,
 		  uint16_t pkts_n __rte_unused)
@@ -2340,7 +2340,7 @@ mlx5_tx_burst_vec(void *dpdk_txq __rte_unused,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 mlx5_rx_burst_vec(void *dpdk_txq __rte_unused,
 		  struct rte_mbuf **pkts __rte_unused,
 		  uint16_t pkts_n __rte_unused)
@@ -2348,25 +2348,25 @@ mlx5_rx_burst_vec(void *dpdk_txq __rte_unused,
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 mlx5_check_raw_vec_tx_support(struct rte_eth_dev *dev __rte_unused)
 {
 	return -ENOTSUP;
 }
 
-int __attribute__((weak))
+__rte_weak int
 mlx5_check_vec_tx_support(struct rte_eth_dev *dev __rte_unused)
 {
 	return -ENOTSUP;
 }
 
-int __attribute__((weak))
+__rte_weak int
 mlx5_rxq_check_vec_support(struct mlx5_rxq_data *rxq __rte_unused)
 {
 	return -ENOTSUP;
 }
 
-int __attribute__((weak))
+__rte_weak int
 mlx5_check_vec_rx_support(struct rte_eth_dev *dev __rte_unused)
 {
 	return -ENOTSUP;
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 08/10] virtio: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
                   ` (5 preceding siblings ...)
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 07/10] mlx5: " Keith Wiles
@ 2018-08-03 14:06 ` Keith Wiles
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 09/10] acl: " Keith Wiles
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:06 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/net/virtio/virtio_rxtx_simple.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_rxtx_simple.c b/drivers/net/virtio/virtio_rxtx_simple.c
index 31e565b4c..f8bcbaa1c 100644
--- a/drivers/net/virtio/virtio_rxtx_simple.c
+++ b/drivers/net/virtio/virtio_rxtx_simple.c
@@ -47,7 +47,7 @@ virtio_rxq_vec_setup(struct virtnet_rx *rxq)
 }
 
 /* Stub for linkage when arch specific implementation is not available */
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 virtio_recv_pkts_vec(void *rx_queue __rte_unused,
 		     struct rte_mbuf **rx_pkts __rte_unused,
 		     uint16_t nb_pkts __rte_unused)
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 09/10] acl: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
                   ` (6 preceding siblings ...)
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 08/10] virtio: " Keith Wiles
@ 2018-08-03 14:06 ` Keith Wiles
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 10/10] bpf: " Keith Wiles
  2018-10-03 16:09 ` [dpdk-dev] [PATCH 01/10] eal: add shorthand " Ferruh Yigit
  9 siblings, 0 replies; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:06 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 lib/librte_acl/rte_acl.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/librte_acl/rte_acl.c b/lib/librte_acl/rte_acl.c
index 2f1243cde..db7d3221e 100644
--- a/lib/librte_acl/rte_acl.c
+++ b/lib/librte_acl/rte_acl.c
@@ -16,7 +16,7 @@ EAL_REGISTER_TAILQ(rte_acl_tailq)
  * If the compiler doesn't support AVX2 instructions,
  * then the dummy one would be used instead for AVX2 classify method.
  */
-int __attribute__ ((weak))
+__rte_weak int
 rte_acl_classify_avx2(__rte_unused const struct rte_acl_ctx *ctx,
 	__rte_unused const uint8_t **data,
 	__rte_unused uint32_t *results,
@@ -26,7 +26,7 @@ rte_acl_classify_avx2(__rte_unused const struct rte_acl_ctx *ctx,
 	return -ENOTSUP;
 }
 
-int __attribute__ ((weak))
+__rte_weak int
 rte_acl_classify_sse(__rte_unused const struct rte_acl_ctx *ctx,
 	__rte_unused const uint8_t **data,
 	__rte_unused uint32_t *results,
@@ -36,7 +36,7 @@ rte_acl_classify_sse(__rte_unused const struct rte_acl_ctx *ctx,
 	return -ENOTSUP;
 }
 
-int __attribute__ ((weak))
+__rte_weak int
 rte_acl_classify_neon(__rte_unused const struct rte_acl_ctx *ctx,
 	__rte_unused const uint8_t **data,
 	__rte_unused uint32_t *results,
@@ -46,7 +46,7 @@ rte_acl_classify_neon(__rte_unused const struct rte_acl_ctx *ctx,
 	return -ENOTSUP;
 }
 
-int __attribute__ ((weak))
+__rte_weak int
 rte_acl_classify_altivec(__rte_unused const struct rte_acl_ctx *ctx,
 	__rte_unused const uint8_t **data,
 	__rte_unused uint32_t *results,
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 10/10] bpf: update code to use __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
                   ` (7 preceding siblings ...)
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 09/10] acl: " Keith Wiles
@ 2018-08-03 14:06 ` Keith Wiles
  2018-10-03 16:09 ` [dpdk-dev] [PATCH 01/10] eal: add shorthand " Ferruh Yigit
  9 siblings, 0 replies; 17+ messages in thread
From: Keith Wiles @ 2018-08-03 14:06 UTC (permalink / raw)
  To: dev

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 lib/librte_bpf/bpf_load.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_bpf/bpf_load.c b/lib/librte_bpf/bpf_load.c
index 2b84fe724..d9d163b7d 100644
--- a/lib/librte_bpf/bpf_load.c
+++ b/lib/librte_bpf/bpf_load.c
@@ -131,7 +131,7 @@ rte_bpf_load(const struct rte_bpf_prm *prm)
 	return bpf;
 }
 
-__rte_experimental __attribute__ ((weak)) struct rte_bpf *
+__rte_experimental __rte_weak struct rte_bpf *
 rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
 	const char *sname)
 {
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH 07/10] mlx5: update code to use __rte_weak macro
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 07/10] mlx5: " Keith Wiles
@ 2018-08-03 17:32   ` Yongseok Koh
  0 siblings, 0 replies; 17+ messages in thread
From: Yongseok Koh @ 2018-08-03 17:32 UTC (permalink / raw)
  To: Keith Wiles; +Cc: dev


> On Aug 3, 2018, at 7:06 AM, Keith Wiles <keith.wiles@intel.com> wrote:
> 
> Signed-off-by: Keith Wiles <keith.wiles@intel.com>
> ---
Acked-by: Yongseok Koh <yskoh@mellanox.com>
 
Thanks

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH 02/10] qat: update code to use __rte_weak macro
  2018-08-03 14:05 ` [dpdk-dev] [PATCH 02/10] qat: update code to use " Keith Wiles
@ 2018-08-29  9:27   ` Jozwiak, TomaszX
  0 siblings, 0 replies; 17+ messages in thread
From: Jozwiak, TomaszX @ 2018-08-29  9:27 UTC (permalink / raw)
  To: Wiles, Keith, dev



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Keith Wiles
> Sent: Friday, August 3, 2018 4:06 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH 02/10] qat: update code to use __rte_weak
> macro
> 
> Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: tomaszx.jozwiak@intel.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro
  2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
                   ` (8 preceding siblings ...)
  2018-08-03 14:06 ` [dpdk-dev] [PATCH 10/10] bpf: " Keith Wiles
@ 2018-10-03 16:09 ` Ferruh Yigit
  2018-10-05 14:11   ` Wiles, Keith
  9 siblings, 1 reply; 17+ messages in thread
From: Ferruh Yigit @ 2018-10-03 16:09 UTC (permalink / raw)
  To: keith.wiles; +Cc: dpdk-dev, Thomas Monjalon

On 8/3/2018 3:05 PM, keith.wiles at intel.com (Keith Wiles) wrote:
> Signed-off-by: Keith Wiles <keith.wiles at intel.com>
> ---
>  lib/librte_eal/common/include/rte_common.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
> index 069c13ec7..2c4535b1a 100644
> --- a/lib/librte_eal/common/include/rte_common.h
> +++ b/lib/librte_eal/common/include/rte_common.h
> @@ -68,6 +68,11 @@ typedef uint16_t unaligned_uint16_t;
>  /******* Macro to mark functions and fields scheduled for removal *****/
>  #define __rte_deprecated	__attribute__((__deprecated__))
>  
> +/**
> + * short definition to mark a function or variable to a weak reference.
> + */
> +#define __rte_weak		__attribute__((__weak__))

Looks good to me.
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Since the change is all mechanical same change in further patches, what do you
think merging this patchset into single patch?

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro
  2018-10-03 16:09 ` [dpdk-dev] [PATCH 01/10] eal: add shorthand " Ferruh Yigit
@ 2018-10-05 14:11   ` Wiles, Keith
  2018-10-05 14:48     ` [dpdk-dev] [PATCH v2] add shorthand support for " Keith Wiles
  2018-10-05 14:49     ` [dpdk-dev] [PATCH 01/10] eal: add shorthand " Wiles, Keith
  0 siblings, 2 replies; 17+ messages in thread
From: Wiles, Keith @ 2018-10-05 14:11 UTC (permalink / raw)
  To: Yigit, Ferruh; +Cc: dpdk-dev, Thomas Monjalon



> On Oct 3, 2018, at 11:09 AM, Yigit, Ferruh <ferruh.yigit@intel.com> wrote:
> 
> On 8/3/2018 3:05 PM, keith.wiles at intel.com (Keith Wiles) wrote:
>> Signed-off-by: Keith Wiles <keith.wiles at intel.com>
>> ---
>> lib/librte_eal/common/include/rte_common.h | 5 +++++
>> 1 file changed, 5 insertions(+)
>> 
>> diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
>> index 069c13ec7..2c4535b1a 100644
>> --- a/lib/librte_eal/common/include/rte_common.h
>> +++ b/lib/librte_eal/common/include/rte_common.h
>> @@ -68,6 +68,11 @@ typedef uint16_t unaligned_uint16_t;
>> /******* Macro to mark functions and fields scheduled for removal *****/
>> #define __rte_deprecated	__attribute__((__deprecated__))
>> 
>> +/**
>> + * short definition to mark a function or variable to a weak reference.
>> + */
>> +#define __rte_weak		__attribute__((__weak__))
> 
> Looks good to me.
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
> 
> Since the change is all mechanical same change in further patches, what do you
> think merging this patchset into single patch?

I do not have a problem merging this into one, just time to do it is my big problem. The only reason I split this up was to give each owner of the file to review them.

Regards,
Keith

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH v2] add shorthand support for __rte_weak macro
  2018-10-05 14:11   ` Wiles, Keith
@ 2018-10-05 14:48     ` Keith Wiles
  2018-10-24 23:59       ` Thomas Monjalon
  2018-10-05 14:49     ` [dpdk-dev] [PATCH 01/10] eal: add shorthand " Wiles, Keith
  1 sibling, 1 reply; 17+ messages in thread
From: Keith Wiles @ 2018-10-05 14:48 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, thomas

eal: add shorthand __rte_weak macro
qat: update code to use __rte_weak macro
avf: update code to use __rte_weak macro
fm10k: update code to use __rte_weak macro
i40e: update code to use __rte_weak macro
ixgbe: update code to use __rte_weak macro
mlx5: update code to use __rte_weak macro
virtio: update code to use __rte_weak macro
acl: update code to use __rte_weak macro
bpf: update code to use __rte_weak macro

Merge all of the patches into one patch

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/common/qat/qat_device.c            | 12 ++++++------
 drivers/common/qat/qat_qp.c                |  2 +-
 drivers/net/avf/avf_rxtx.c                 | 10 +++++-----
 drivers/net/fm10k/fm10k_ethdev.c           | 16 ++++++++--------
 drivers/net/i40e/i40e_rxtx.c               | 20 ++++++++++----------
 drivers/net/ixgbe/ixgbe_rxtx.c             |  8 ++++----
 drivers/net/mlx5/mlx5_rxtx.c               | 14 +++++++-------
 drivers/net/virtio/virtio_rxtx_simple.c    |  2 +-
 lib/librte_acl/rte_acl.c                   |  8 ++++----
 lib/librte_bpf/bpf_load.c                  |  2 +-
 lib/librte_eal/common/include/rte_common.h |  5 +++++
 11 files changed, 52 insertions(+), 47 deletions(-)

diff --git a/drivers/common/qat/qat_device.c b/drivers/common/qat/qat_device.c
index f32d72358..db01e5bc2 100644
--- a/drivers/common/qat/qat_device.c
+++ b/drivers/common/qat/qat_device.c
@@ -239,37 +239,37 @@ static struct rte_pci_driver rte_qat_pmd = {
 	.remove = qat_pci_remove
 };
 
-__attribute__((weak)) int
+__rte_weak int
 qat_sym_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_asym_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_sym_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_asym_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_comp_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_comp_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
 {
 	return 0;
diff --git a/drivers/common/qat/qat_qp.c b/drivers/common/qat/qat_qp.c
index 7ca7a45eb..11a2d2e90 100644
--- a/drivers/common/qat/qat_qp.c
+++ b/drivers/common/qat/qat_qp.c
@@ -635,7 +635,7 @@ qat_dequeue_op_burst(void *qp, void **ops, uint16_t nb_ops)
 	return resp_counter;
 }
 
-__attribute__((weak)) int
+__rte_weak int
 qat_comp_process_response(void **op __rte_unused, uint8_t *resp __rte_unused)
 {
 	return  0;
diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c
index 6b3b0191c..8c7a96727 100644
--- a/drivers/net/avf/avf_rxtx.c
+++ b/drivers/net/avf/avf_rxtx.c
@@ -1918,7 +1918,7 @@ avf_dev_tx_desc_status(void *tx_queue, uint16_t offset)
 	return RTE_ETH_TX_DESC_FULL;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 avf_recv_pkts_vec(__rte_unused void *rx_queue,
 		  __rte_unused struct rte_mbuf **rx_pkts,
 		  __rte_unused uint16_t nb_pkts)
@@ -1926,7 +1926,7 @@ avf_recv_pkts_vec(__rte_unused void *rx_queue,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
 			    __rte_unused struct rte_mbuf **rx_pkts,
 			    __rte_unused uint16_t nb_pkts)
@@ -1934,7 +1934,7 @@ avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
 			 __rte_unused struct rte_mbuf **tx_pkts,
 			 __rte_unused uint16_t nb_pkts)
@@ -1942,13 +1942,13 @@ avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 avf_rxq_vec_setup(__rte_unused struct avf_rx_queue *rxq)
 {
 	return -1;
 }
 
-int __attribute__((weak))
+__rte_weak int
 avf_txq_vec_setup(__rte_unused struct avf_tx_queue *txq)
 {
 	return -1;
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 46983e5df..72d0b56cf 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -129,13 +129,13 @@ fm10k_mbx_unlock(struct fm10k_hw *hw)
 }
 
 /* Stubs needed for linkage when vPMD is disabled */
-int __attribute__((weak))
+__rte_weak int
 fm10k_rx_vec_condition_check(__rte_unused struct rte_eth_dev *dev)
 {
 	return -1;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 fm10k_recv_pkts_vec(
 	__rte_unused void *rx_queue,
 	__rte_unused struct rte_mbuf **rx_pkts,
@@ -144,7 +144,7 @@ fm10k_recv_pkts_vec(
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 fm10k_recv_scattered_pkts_vec(
 		__rte_unused void *rx_queue,
 		__rte_unused struct rte_mbuf **rx_pkts,
@@ -153,33 +153,33 @@ fm10k_recv_scattered_pkts_vec(
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 fm10k_rxq_vec_setup(__rte_unused struct fm10k_rx_queue *rxq)
 
 {
 	return -1;
 }
 
-void __attribute__((weak))
+__rte_weak void
 fm10k_rx_queue_release_mbufs_vec(
 		__rte_unused struct fm10k_rx_queue *rxq)
 {
 	return;
 }
 
-void __attribute__((weak))
+__rte_weak void
 fm10k_txq_vec_setup(__rte_unused struct fm10k_tx_queue *txq)
 {
 	return;
 }
 
-int __attribute__((weak))
+__rte_weak int
 fm10k_tx_vec_condition_check(__rte_unused struct fm10k_tx_queue *txq)
 {
 	return -1;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 fm10k_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
 			   __rte_unused struct rte_mbuf **tx_pkts,
 			   __rte_unused uint16_t nb_pkts)
diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 7c986d535..12d3c8a93 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -3175,13 +3175,13 @@ i40e_set_default_pctype_table(struct rte_eth_dev *dev)
 }
 
 /* Stubs needed for linkage when CONFIG_RTE_I40E_INC_VECTOR is set to 'n' */
-int __attribute__((weak))
+__rte_weak int
 i40e_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
 {
 	return -1;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_recv_pkts_vec(
 	void __rte_unused *rx_queue,
 	struct rte_mbuf __rte_unused **rx_pkts,
@@ -3190,7 +3190,7 @@ i40e_recv_pkts_vec(
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_recv_scattered_pkts_vec(
 	void __rte_unused *rx_queue,
 	struct rte_mbuf __rte_unused **rx_pkts,
@@ -3199,7 +3199,7 @@ i40e_recv_scattered_pkts_vec(
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_recv_pkts_vec_avx2(void __rte_unused *rx_queue,
 			struct rte_mbuf __rte_unused **rx_pkts,
 			uint16_t __rte_unused nb_pkts)
@@ -3207,7 +3207,7 @@ i40e_recv_pkts_vec_avx2(void __rte_unused *rx_queue,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_recv_scattered_pkts_vec_avx2(void __rte_unused *rx_queue,
 			struct rte_mbuf __rte_unused **rx_pkts,
 			uint16_t __rte_unused nb_pkts)
@@ -3215,25 +3215,25 @@ i40e_recv_scattered_pkts_vec_avx2(void __rte_unused *rx_queue,
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 i40e_rxq_vec_setup(struct i40e_rx_queue __rte_unused *rxq)
 {
 	return -1;
 }
 
-int __attribute__((weak))
+__rte_weak int
 i40e_txq_vec_setup(struct i40e_tx_queue __rte_unused *txq)
 {
 	return -1;
 }
 
-void __attribute__((weak))
+__rte_weak void
 i40e_rx_queue_release_mbufs_vec(struct i40e_rx_queue __rte_unused*rxq)
 {
 	return;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_xmit_fixed_burst_vec(void __rte_unused * tx_queue,
 			  struct rte_mbuf __rte_unused **tx_pkts,
 			  uint16_t __rte_unused nb_pkts)
@@ -3241,7 +3241,7 @@ i40e_xmit_fixed_burst_vec(void __rte_unused * tx_queue,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 i40e_xmit_pkts_vec_avx2(void __rte_unused * tx_queue,
 			  struct rte_mbuf __rte_unused **tx_pkts,
 			  uint16_t __rte_unused nb_pkts)
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index ae21f04a1..f5523fd96 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -5716,13 +5716,13 @@ ixgbe_config_rss_filter(struct rte_eth_dev *dev,
 }
 
 /* Stubs needed for linkage when CONFIG_RTE_IXGBE_INC_VECTOR is set to 'n' */
-int __attribute__((weak))
+__rte_weak int
 ixgbe_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
 {
 	return -1;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 ixgbe_recv_pkts_vec(
 	void __rte_unused *rx_queue,
 	struct rte_mbuf __rte_unused **rx_pkts,
@@ -5731,7 +5731,7 @@ ixgbe_recv_pkts_vec(
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 ixgbe_recv_scattered_pkts_vec(
 	void __rte_unused *rx_queue,
 	struct rte_mbuf __rte_unused **rx_pkts,
@@ -5740,7 +5740,7 @@ ixgbe_recv_scattered_pkts_vec(
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 ixgbe_rxq_vec_setup(struct ixgbe_rx_queue __rte_unused *rxq)
 {
 	return -1;
diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index 558e6b60a..497fe2c0a 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -2324,7 +2324,7 @@ removed_rx_burst(void *dpdk_txq __rte_unused,
  * (e.g.  mlx5_rxtx_vec_sse.c for x86).
  */
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 mlx5_tx_burst_raw_vec(void *dpdk_txq __rte_unused,
 		      struct rte_mbuf **pkts __rte_unused,
 		      uint16_t pkts_n __rte_unused)
@@ -2332,7 +2332,7 @@ mlx5_tx_burst_raw_vec(void *dpdk_txq __rte_unused,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 mlx5_tx_burst_vec(void *dpdk_txq __rte_unused,
 		  struct rte_mbuf **pkts __rte_unused,
 		  uint16_t pkts_n __rte_unused)
@@ -2340,7 +2340,7 @@ mlx5_tx_burst_vec(void *dpdk_txq __rte_unused,
 	return 0;
 }
 
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 mlx5_rx_burst_vec(void *dpdk_txq __rte_unused,
 		  struct rte_mbuf **pkts __rte_unused,
 		  uint16_t pkts_n __rte_unused)
@@ -2348,25 +2348,25 @@ mlx5_rx_burst_vec(void *dpdk_txq __rte_unused,
 	return 0;
 }
 
-int __attribute__((weak))
+__rte_weak int
 mlx5_check_raw_vec_tx_support(struct rte_eth_dev *dev __rte_unused)
 {
 	return -ENOTSUP;
 }
 
-int __attribute__((weak))
+__rte_weak int
 mlx5_check_vec_tx_support(struct rte_eth_dev *dev __rte_unused)
 {
 	return -ENOTSUP;
 }
 
-int __attribute__((weak))
+__rte_weak int
 mlx5_rxq_check_vec_support(struct mlx5_rxq_data *rxq __rte_unused)
 {
 	return -ENOTSUP;
 }
 
-int __attribute__((weak))
+__rte_weak int
 mlx5_check_vec_rx_support(struct rte_eth_dev *dev __rte_unused)
 {
 	return -ENOTSUP;
diff --git a/drivers/net/virtio/virtio_rxtx_simple.c b/drivers/net/virtio/virtio_rxtx_simple.c
index 31e565b4c..f8bcbaa1c 100644
--- a/drivers/net/virtio/virtio_rxtx_simple.c
+++ b/drivers/net/virtio/virtio_rxtx_simple.c
@@ -47,7 +47,7 @@ virtio_rxq_vec_setup(struct virtnet_rx *rxq)
 }
 
 /* Stub for linkage when arch specific implementation is not available */
-uint16_t __attribute__((weak))
+__rte_weak uint16_t
 virtio_recv_pkts_vec(void *rx_queue __rte_unused,
 		     struct rte_mbuf **rx_pkts __rte_unused,
 		     uint16_t nb_pkts __rte_unused)
diff --git a/lib/librte_acl/rte_acl.c b/lib/librte_acl/rte_acl.c
index 2f1243cde..db7d3221e 100644
--- a/lib/librte_acl/rte_acl.c
+++ b/lib/librte_acl/rte_acl.c
@@ -16,7 +16,7 @@ EAL_REGISTER_TAILQ(rte_acl_tailq)
  * If the compiler doesn't support AVX2 instructions,
  * then the dummy one would be used instead for AVX2 classify method.
  */
-int __attribute__ ((weak))
+__rte_weak int
 rte_acl_classify_avx2(__rte_unused const struct rte_acl_ctx *ctx,
 	__rte_unused const uint8_t **data,
 	__rte_unused uint32_t *results,
@@ -26,7 +26,7 @@ rte_acl_classify_avx2(__rte_unused const struct rte_acl_ctx *ctx,
 	return -ENOTSUP;
 }
 
-int __attribute__ ((weak))
+__rte_weak int
 rte_acl_classify_sse(__rte_unused const struct rte_acl_ctx *ctx,
 	__rte_unused const uint8_t **data,
 	__rte_unused uint32_t *results,
@@ -36,7 +36,7 @@ rte_acl_classify_sse(__rte_unused const struct rte_acl_ctx *ctx,
 	return -ENOTSUP;
 }
 
-int __attribute__ ((weak))
+__rte_weak int
 rte_acl_classify_neon(__rte_unused const struct rte_acl_ctx *ctx,
 	__rte_unused const uint8_t **data,
 	__rte_unused uint32_t *results,
@@ -46,7 +46,7 @@ rte_acl_classify_neon(__rte_unused const struct rte_acl_ctx *ctx,
 	return -ENOTSUP;
 }
 
-int __attribute__ ((weak))
+__rte_weak int
 rte_acl_classify_altivec(__rte_unused const struct rte_acl_ctx *ctx,
 	__rte_unused const uint8_t **data,
 	__rte_unused uint32_t *results,
diff --git a/lib/librte_bpf/bpf_load.c b/lib/librte_bpf/bpf_load.c
index 2b84fe724..d9d163b7d 100644
--- a/lib/librte_bpf/bpf_load.c
+++ b/lib/librte_bpf/bpf_load.c
@@ -131,7 +131,7 @@ rte_bpf_load(const struct rte_bpf_prm *prm)
 	return bpf;
 }
 
-__rte_experimental __attribute__ ((weak)) struct rte_bpf *
+__rte_experimental __rte_weak struct rte_bpf *
 rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
 	const char *sname)
 {
diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
index 069c13ec7..2c4535b1a 100644
--- a/lib/librte_eal/common/include/rte_common.h
+++ b/lib/librte_eal/common/include/rte_common.h
@@ -68,6 +68,11 @@ typedef uint16_t unaligned_uint16_t;
 /******* Macro to mark functions and fields scheduled for removal *****/
 #define __rte_deprecated	__attribute__((__deprecated__))
 
+/**
+ * short definition to mark a function or variable to a weak reference.
+ */
+#define __rte_weak		__attribute__((__weak__))
+
 /*********** Macros to eliminate unused variable warnings ********/
 
 /**
-- 
2.17.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro
  2018-10-05 14:11   ` Wiles, Keith
  2018-10-05 14:48     ` [dpdk-dev] [PATCH v2] add shorthand support for " Keith Wiles
@ 2018-10-05 14:49     ` Wiles, Keith
  1 sibling, 0 replies; 17+ messages in thread
From: Wiles, Keith @ 2018-10-05 14:49 UTC (permalink / raw)
  To: Yigit, Ferruh; +Cc: dpdk-dev, Thomas Monjalon



> On Oct 5, 2018, at 9:11 AM, Wiles, Keith <keith.wiles@intel.com> wrote:
> 
> 
> 
>> On Oct 3, 2018, at 11:09 AM, Yigit, Ferruh <ferruh.yigit@intel.com> wrote:
>> 
>> On 8/3/2018 3:05 PM, keith.wiles at intel.com (Keith Wiles) wrote:
>>> Signed-off-by: Keith Wiles <keith.wiles at intel.com>
>>> ---
>>> lib/librte_eal/common/include/rte_common.h | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>> 
>>> diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
>>> index 069c13ec7..2c4535b1a 100644
>>> --- a/lib/librte_eal/common/include/rte_common.h
>>> +++ b/lib/librte_eal/common/include/rte_common.h
>>> @@ -68,6 +68,11 @@ typedef uint16_t unaligned_uint16_t;
>>> /******* Macro to mark functions and fields scheduled for removal *****/
>>> #define __rte_deprecated	__attribute__((__deprecated__))
>>> 
>>> +/**
>>> + * short definition to mark a function or variable to a weak reference.
>>> + */
>>> +#define __rte_weak		__attribute__((__weak__))
>> 
>> Looks good to me.
>> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
>> 
>> Since the change is all mechanical same change in further patches, what do you
>> think merging this patchset into single patch?
> 
> I do not have a problem merging this into one, just time to do it is my big problem. The only reason I split this up was to give each owner of the file to review them.

During a meeting I was able to combine the patches, please have look.

> 
> Regards,
> Keith
> 

Regards,
Keith

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH v2] add shorthand support for __rte_weak macro
  2018-10-05 14:48     ` [dpdk-dev] [PATCH v2] add shorthand support for " Keith Wiles
@ 2018-10-24 23:59       ` Thomas Monjalon
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Monjalon @ 2018-10-24 23:59 UTC (permalink / raw)
  To: Keith Wiles; +Cc: dev, ferruh.yigit

05/10/2018 16:48, Keith Wiles:
> eal: add shorthand __rte_weak macro
> qat: update code to use __rte_weak macro
> avf: update code to use __rte_weak macro
> fm10k: update code to use __rte_weak macro
> i40e: update code to use __rte_weak macro
> ixgbe: update code to use __rte_weak macro
> mlx5: update code to use __rte_weak macro
> virtio: update code to use __rte_weak macro
> acl: update code to use __rte_weak macro
> bpf: update code to use __rte_weak macro
> 
> Merge all of the patches into one patch
> 
> Signed-off-by: Keith Wiles <keith.wiles@intel.com>
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied with below small change, thanks.

- * short definition to mark a function or variable to a weak reference.
+ * Mark a function or variable to a weak reference.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2018-10-24 23:59 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-03 14:05 [dpdk-dev] [PATCH 01/10] eal: add shorthand __rte_weak macro Keith Wiles
2018-08-03 14:05 ` [dpdk-dev] [PATCH 02/10] qat: update code to use " Keith Wiles
2018-08-29  9:27   ` Jozwiak, TomaszX
2018-08-03 14:05 ` [dpdk-dev] [PATCH 03/10] avf: " Keith Wiles
2018-08-03 14:05 ` [dpdk-dev] [PATCH 04/10] fm10k: " Keith Wiles
2018-08-03 14:06 ` [dpdk-dev] [PATCH 05/10] i40e: " Keith Wiles
2018-08-03 14:06 ` [dpdk-dev] [PATCH 06/10] ixgbe: " Keith Wiles
2018-08-03 14:06 ` [dpdk-dev] [PATCH 07/10] mlx5: " Keith Wiles
2018-08-03 17:32   ` Yongseok Koh
2018-08-03 14:06 ` [dpdk-dev] [PATCH 08/10] virtio: " Keith Wiles
2018-08-03 14:06 ` [dpdk-dev] [PATCH 09/10] acl: " Keith Wiles
2018-08-03 14:06 ` [dpdk-dev] [PATCH 10/10] bpf: " Keith Wiles
2018-10-03 16:09 ` [dpdk-dev] [PATCH 01/10] eal: add shorthand " Ferruh Yigit
2018-10-05 14:11   ` Wiles, Keith
2018-10-05 14:48     ` [dpdk-dev] [PATCH v2] add shorthand support for " Keith Wiles
2018-10-24 23:59       ` Thomas Monjalon
2018-10-05 14:49     ` [dpdk-dev] [PATCH 01/10] eal: add shorthand " Wiles, Keith

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