[PATCH v5 11/34] net/ixgbe: remove unnecessary platform checks

Bruce Richardson bruce.richardson at intel.com
Mon Jun 9 12:29:30 CEST 2025


On Fri, Jun 06, 2025 at 06:08:50PM +0100, Anatoly Burakov wrote:
> Some of the things that are only used by vector drivers is guarded by
> platform define checks, but there is actually no real reason to have those
> checks, because this code won't run anyway. Remove all of the unnecessary
> platform checks, and provide function stubs where necessary to make
> compilation work.
> 
> Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
> ---

Acked-by: Bruce Richardson <bruce.richardson at intel.com>

One minor nit inline below.
> 
> Notes:
>     v5:
>     - Add this commit
> 
>  drivers/net/intel/ixgbe/ixgbe_rxtx.c | 24 +++++++++++-------------
>  drivers/net/intel/ixgbe/ixgbe_rxtx.h |  4 ----
>  2 files changed, 11 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx.c b/drivers/net/intel/ixgbe/ixgbe_rxtx.c
> index 8fbb795097..77d0555fae 100644
> --- a/drivers/net/intel/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/intel/ixgbe/ixgbe_rxtx.c
> @@ -2678,9 +2678,7 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ci_tx_queue *txq)
>  				(rte_eal_process_type() != RTE_PROC_PRIMARY ||
>  					ixgbe_txq_vec_setup(txq) == 0)) {
>  			PMD_INIT_LOG(DEBUG, "Vector tx enabled.");
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM)
>  			dev->recycle_tx_mbufs_reuse = ixgbe_recycle_tx_mbufs_reuse_vec;
> -#endif
>  			dev->tx_pkt_burst = ixgbe_xmit_pkts_vec;
>  		} else {
>  			dev->tx_pkt_burst = ixgbe_xmit_pkts_simple;
> @@ -3112,11 +3110,8 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq)
>  
>  	rxq->pkt_first_seg = NULL;
>  	rxq->pkt_last_seg = NULL;
> -
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
>  	rxq->rxrearm_start = 0;
>  	rxq->rxrearm_nb = 0;
> -#endif
>  }
>  
>  static int
> @@ -3408,11 +3403,9 @@ ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset)
>  	if (unlikely(offset >= rxq->nb_rx_desc))
>  		return -EINVAL;
>  
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
>  	if (rxq->vector_rx)
>  		nb_hold = rxq->rxrearm_nb;
>  	else
> -#endif
>  		nb_hold = rxq->nb_rx_hold;
>  	if (offset >= rxq->nb_rx_desc - nb_hold)
>  		return RTE_ETH_RX_DESC_UNAVAIL;
> @@ -5050,10 +5043,8 @@ ixgbe_set_rx_function(struct rte_eth_dev *dev)
>  			PMD_INIT_LOG(DEBUG, "Using Vector Scattered Rx "
>  					    "callback (port=%d).",
>  				     dev->data->port_id);
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM)
>  			dev->recycle_rx_descriptors_refill =
>  				ixgbe_recycle_rx_descriptors_refill_vec;
> -#endif
>  			dev->rx_pkt_burst = ixgbe_recv_scattered_pkts_vec;
>  		} else if (adapter->rx_bulk_alloc_allowed) {
>  			PMD_INIT_LOG(DEBUG, "Using a Scattered with bulk "
> @@ -5082,9 +5073,7 @@ ixgbe_set_rx_function(struct rte_eth_dev *dev)
>  				    "burst size no less than %d (port=%d).",
>  			     RTE_IXGBE_DESCS_PER_LOOP,
>  			     dev->data->port_id);
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM)
>  		dev->recycle_rx_descriptors_refill = ixgbe_recycle_rx_descriptors_refill_vec;
> -#endif
>  		dev->rx_pkt_burst = ixgbe_recv_pkts_vec;
>  	} else if (adapter->rx_bulk_alloc_allowed) {
>  		PMD_INIT_LOG(DEBUG, "Rx Burst Bulk Alloc Preconditions are "
> @@ -5872,10 +5861,8 @@ ixgbe_recycle_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
>  	recycle_rxq_info->receive_tail = &rxq->rx_tail;
>  
>  	if (adapter->rx_vec_allowed) {
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM)
>  		recycle_rxq_info->refill_requirement = RTE_IXGBE_RXQ_REARM_THRESH;
>  		recycle_rxq_info->refill_head = &rxq->rxrearm_start;
> -#endif
>  	} else {
>  		recycle_rxq_info->refill_requirement = rxq->rx_free_thresh;
>  		recycle_rxq_info->refill_head = &rxq->rx_free_trigger;
> @@ -6251,6 +6238,17 @@ ixgbe_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
>  	return -1;
>  }
>  
> +void ixgbe_recycle_rx_descriptors_refill_vec(void __rte_unused * rx_queue,
> +		uint16_t __rte_unused nb_mbufs)
> +{
> +}

Nit: the "void" here, and "uint16_t" below should be on lines on their
own, to align with DPDK style guide.

> +
> +uint16_t ixgbe_recycle_tx_mbufs_reuse_vec(void __rte_unused * tx_queue,
> +	struct rte_eth_recycle_rxq_info __rte_unused * recycle_rxq_info)
> +{
> +	return 0;
> +}
> +
>  uint16_t
>  ixgbe_recv_pkts_vec(
>  	void __rte_unused *rx_queue,
> diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx.h b/drivers/net/intel/ixgbe/ixgbe_rxtx.h
> index c86714804f..bcd5db87e8 100644
> --- a/drivers/net/intel/ixgbe/ixgbe_rxtx.h
> +++ b/drivers/net/intel/ixgbe/ixgbe_rxtx.h
> @@ -35,10 +35,8 @@
>  
>  #define RTE_IXGBE_DESCS_PER_LOOP    4
>  
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM)
>  #define RTE_IXGBE_RXQ_REARM_THRESH      32
>  #define RTE_IXGBE_MAX_RX_BURST          RTE_IXGBE_RXQ_REARM_THRESH
> -#endif
>  
>  #define RX_RING_SZ ((IXGBE_MAX_RING_DESC + RTE_PMD_IXGBE_RX_MAX_BURST) * \
>  		    sizeof(union ixgbe_adv_rx_desc))
> @@ -102,10 +100,8 @@ struct ixgbe_rx_queue {
>  	uint8_t            using_ipsec;
>  	/**< indicates that IPsec RX feature is in use */
>  #endif
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM)
>  	uint16_t            rxrearm_nb;     /**< number of remaining to be re-armed */
>  	uint16_t            rxrearm_start;  /**< the idx we start the re-arming from */
> -#endif
>  	uint16_t            rx_free_thresh; /**< max free RX desc to hold. */
>  	uint16_t            queue_id; /**< RX queue index. */
>  	uint16_t            reg_idx;  /**< RX queue register index. */
> -- 
> 2.47.1
> 


More information about the dev mailing list