Hi Ferruh,
     Thanks for your comments. I think you're right, i will modify it with 
Patch V4. Also I change it with the same structure
for X86-64 and ARM platform with cache-aligned, and test the RX performance, 
all is OK.

Best Regards
Xiaoyun Wang

在 2019/9/30 23:10, Ferruh Yigit 写道:
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.wangxiao...@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?

Reply via email to