net/hinic: optimize Rx performance
This patch optimizes receive packets performance on arm platform. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
This commit is contained in:
parent
dd93390e57
commit
361a9ccf81
@ -971,13 +971,10 @@ u16 hinic_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, u16 nb_pkts)
|
||||
while (pkts < nb_pkts) {
|
||||
/* 2. current ci is done */
|
||||
rx_cqe = &rxq->rx_cqe[sw_ci];
|
||||
status = rx_cqe->status;
|
||||
status = __atomic_load_n(&rx_cqe->status, __ATOMIC_ACQUIRE);
|
||||
if (!HINIC_GET_RX_DONE_BE(status))
|
||||
break;
|
||||
|
||||
/* read other cqe member after status */
|
||||
rte_rmb();
|
||||
|
||||
/* convert cqe and get packet length */
|
||||
hinic_rq_cqe_be_to_cpu32(&cqe, (volatile void *)rx_cqe);
|
||||
vlan_len = cqe.vlan_len;
|
||||
|
@ -35,7 +35,7 @@ struct hinic_rq_cqe {
|
||||
u32 rss_hash;
|
||||
|
||||
u32 rsvd[4];
|
||||
};
|
||||
} __rte_cache_aligned;
|
||||
|
||||
struct hinic_rq_cqe_sect {
|
||||
struct hinic_sge sge;
|
||||
|
Loading…
x
Reference in New Issue
Block a user