[2/3] net/ixgbe: add support for aarch32

Message ID 20200424065053.119885-3-ruifeng.wang@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series aarch32 compilation |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Ruifeng Wang April 24, 2020, 6:50 a.m. UTC
  Expand vector PMD support to aarch32.

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Ferruh Yigit May 1, 2020, 2:59 p.m. UTC | #1
On 4/24/2020 7:50 AM, Ruifeng Wang wrote:
> Expand vector PMD support to aarch32.
> 
> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Reviewed-by: Gavin Hu <gavin.hu@arm.com>
> ---
>  drivers/net/ixgbe/ixgbe_rxtx.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.h b/drivers/net/ixgbe/ixgbe_rxtx.h
> index 20a8b291d..7e09291b2 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.h
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.h
> @@ -33,7 +33,7 @@
>  
>  #define RTE_IXGBE_DESCS_PER_LOOP    4
>  
> -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
> +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || defined(RTE_ARCH_ARM)
>  #define RTE_IXGBE_RXQ_REARM_THRESH      32
>  #define RTE_IXGBE_MAX_RX_BURST          RTE_IXGBE_RXQ_REARM_THRESH
>  #endif
> @@ -117,7 +117,7 @@ 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_ARM64)
> +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || 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
> 


This is not enough for Make build, since it doesn't compile
'ixgbe_rxtx_vec_neon.c' for 'RTE_ARCH_ARM', it needs to be updated.


btw, also should IXGBE_PMD enabled by default
'defconfig_arm-armv7a-linuxapp-gcc'? Which is by default disabled currently.
  
Ruifeng Wang May 6, 2020, 7:54 a.m. UTC | #2
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Friday, May 1, 2020 11:00 PM
> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; wenzhuo.lu@intel.com;
> konstantin.ananyev@intel.com; jerinj@marvell.com;
> viktorin@rehivetech.com
> Cc: dev@dpdk.org; Gavin Hu <Gavin.Hu@arm.com>; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>; juraj.linkes@pantheon.tech; nd
> <nd@arm.com>
> Subject: Re: [dpdk-dev] [PATCH 2/3] net/ixgbe: add support for aarch32
> 
> On 4/24/2020 7:50 AM, Ruifeng Wang wrote:
> > Expand vector PMD support to aarch32.
> >
> > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> > Reviewed-by: Gavin Hu <gavin.hu@arm.com>
> > ---
> >  drivers/net/ixgbe/ixgbe_rxtx.h | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.h
> > b/drivers/net/ixgbe/ixgbe_rxtx.h index 20a8b291d..7e09291b2 100644
> > --- a/drivers/net/ixgbe/ixgbe_rxtx.h
> > +++ b/drivers/net/ixgbe/ixgbe_rxtx.h
> > @@ -33,7 +33,7 @@
> >
> >  #define RTE_IXGBE_DESCS_PER_LOOP    4
> >
> > -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
> > +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) ||
> > +defined(RTE_ARCH_ARM)
> >  #define RTE_IXGBE_RXQ_REARM_THRESH      32
> >  #define RTE_IXGBE_MAX_RX_BURST
> RTE_IXGBE_RXQ_REARM_THRESH
> >  #endif
> > @@ -117,7 +117,7 @@ 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_ARM64)
> > +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) ||
> > +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
> >
> 
> 
> This is not enough for Make build, since it doesn't compile
> 'ixgbe_rxtx_vec_neon.c' for 'RTE_ARCH_ARM', it needs to be updated.
> 
Agreed. Will update Makefile to include this.

> 
> btw, also should IXGBE_PMD enabled by default 'defconfig_arm-armv7a-
> linuxapp-gcc'? Which is by default disabled currently.
Yes. We can enable IXGBE_PMD by default since it now compiles.
Will change it in next version.
  

Patch

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.h b/drivers/net/ixgbe/ixgbe_rxtx.h
index 20a8b291d..7e09291b2 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.h
+++ b/drivers/net/ixgbe/ixgbe_rxtx.h
@@ -33,7 +33,7 @@ 
 
 #define RTE_IXGBE_DESCS_PER_LOOP    4
 
-#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
+#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || defined(RTE_ARCH_ARM)
 #define RTE_IXGBE_RXQ_REARM_THRESH      32
 #define RTE_IXGBE_MAX_RX_BURST          RTE_IXGBE_RXQ_REARM_THRESH
 #endif
@@ -117,7 +117,7 @@  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_ARM64)
+#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || 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