[dpdk-dev] [PATCH v3 18/19] net/hinic: optimize RX performance

Ferruh Yigit ferruh.yigit at intel.com
Mon Sep 30 17:10:58 CEST 2019


On 9/30/2019 3:00 PM, Xiaoyun wang wrote:
> This patch optimizes receive packets performance
> on arm platform.
> 
> Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun at huawei.com>

<...>

> @@ -28,6 +28,7 @@ struct hinic_rq_ctrl {
>  	u32	ctrl_fmt;
>  };
>  
> +#if defined(__X86_64_SSE__)
>  struct hinic_rq_cqe {
>  	u32 status;
>  	u32 vlan_len;
> @@ -36,6 +37,16 @@ struct hinic_rq_cqe {
>  
>  	u32 rsvd[4];
>  };
> +#elif defined(__ARM64_NEON__)
> +struct hinic_rq_cqe {
> +	u32 status;
> +	u32 vlan_len;
> +	u32 offload_type;
> +	u32 rss_hash;
> +
> +	u32 rsvd[4];
> +} __rte_cache_aligned;
> +#endif

This change makes "struct hinic_rq_cqe" only exist for 'x86_64' and 'ARM64', if
the intention is to add '__rte_cache_aligned' for the neon, would following
work, which will also work for all archs:


 struct hinic_rq_cqe {
 	u32 status;
 	u32 vlan_len;
 	u32 offload_type;
 	u32 rss_hash;

 	u32 rsvd[4];
 #if defined(__ARM64_NEON__)
 } __rte_cache_aligned;
 #else
 };
 #endif

If this works, can you please send a new version with this update?


More information about the dev mailing list