On Fri, May 30, 2025 at 02:57:18PM +0100, Anatoly Burakov wrote:
> The ixgbe driver has implementations of vectorized mbuf rearm code that
> is identical to the ones in the common code, so just use those.
> 
> Since ixgbe Rx descriptors are always 16-byte wide, force using 16-byte
> definitions in the common headers with a define flag.
> 
> While we're at it, also make sure to use common definitions for things like
> burst size, rearm threshold, and descriptors per loop, which is currently
> defined separately in each driver.
> 
> Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
> ---
> 
> Notes:
>     v3 -> v4:
>     - Use the common descriptor format instead of constant propagation
>     - Use some definitional hackery to work around IXGBE descriptors always 
> being 16-byte
>     - Use the new unified definitions for burst size, rearm threshold, and 
> descriptors per loop
> 
>  drivers/net/intel/ixgbe/ixgbe_rxtx.h          | 21 ++++-
>  drivers/net/intel/ixgbe/ixgbe_rxtx_vec_neon.c | 67 +---------------
>  drivers/net/intel/ixgbe/ixgbe_rxtx_vec_sse.c  | 76 +------------------
>  3 files changed, 26 insertions(+), 138 deletions(-)
> 
> diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx.h 
> b/drivers/net/intel/ixgbe/ixgbe_rxtx.h
> index d1847a33dd..0640336156 100644
> --- a/drivers/net/intel/ixgbe/ixgbe_rxtx.h
> +++ b/drivers/net/intel/ixgbe/ixgbe_rxtx.h
> @@ -5,9 +5,24 @@
>  #ifndef _IXGBE_RXTX_H_
>  #define _IXGBE_RXTX_H_
>  
> +/*
> + * For IXGBE, descriptor size is always 16 bytes, so in order to have all
> + * vectorized and common code building correctly and with proper offsets, 
> force
> + * the common parts to consider IXGBE descriptors to be 16-bytes in size.
> + */
> +#ifndef RTE_NET_INTEL_USE_16BYTE_DESC
> +#define IXGBE_FORCE_16BYTE_DESC
> +#define RTE_NET_INTEL_USE_16BYTE_DESC
> +#endif
> +
>  #include "../common/rx.h"
>  #include "../common/tx.h"
>  
> +#ifdef IXGBE_FORCE_16BYTE_DESC
> +#undef RTE_NET_INTEL_USE_16BYTE_DESC
> +#undef IXGBE_FORCE_16BYTE_DESC
> +#endif
> +

Is there a reason why we need to track the forced nature of the define and
#undef it afterwards, or is it just for code hygiene?

Acked-by: Bruce Richardson <bruce.richard...@intel.com>

Reply via email to