[dpdk-stable] [dpdk-dev] [PATCH] net/octeontx2: fix CQE ring prefetch on wrap around case
jerinj at marvell.com
jerinj at marvell.com
Fri Sep 13 17:31:12 CEST 2019
From: Kommula Shiva Shankar <kshankar at marvell.com>
When computing the head of CQE ring of prefetch, use qmask to point to
the correct head index on wrap around case.
Fixes: cc4d7693f2d9 ("net/octeontx2: support Rx")
Cc: stable at dpdk.org
Signed-off-by: Kommula Shiva Shankar <kshankar at marvell.com>
Acked-by: Jerin Jacob <jerinj at marvell.com>
---
drivers/net/octeontx2/otx2_rx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/octeontx2/otx2_rx.c b/drivers/net/octeontx2/otx2_rx.c
index 701efc858..48565db03 100644
--- a/drivers/net/octeontx2/otx2_rx.c
+++ b/drivers/net/octeontx2/otx2_rx.c
@@ -61,7 +61,8 @@ nix_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
while (packets < nb_pkts) {
/* Prefetch N desc ahead */
- rte_prefetch_non_temporal((void *)(desc + (CQE_SZ(head + 2))));
+ rte_prefetch_non_temporal((void *)(desc +
+ (CQE_SZ((head + 2) & qmask))));
cq = (struct nix_cqe_hdr_s *)(desc + CQE_SZ(head));
mbuf = nix_get_mbuf_from_cqe(cq, data_off);
--
2.23.0
More information about the stable
mailing list