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?