* [PATCH v2 3/5] event/cnxk: fix Tx adapter data pointer
2023-05-18 15:48 ` [PATCH v2 1/5] common/cnxk: fix IPsec IPv6 tunnel address byte swap Rahul Bhansali
@ 2023-05-18 15:49 ` Rahul Bhansali
2023-05-18 15:49 ` [PATCH v2 4/5] event/cnxk: fix mempool cookies check Rahul Bhansali
1 sibling, 0 replies; 3+ messages in thread
From: Rahul Bhansali @ 2023-05-18 15:49 UTC (permalink / raw)
To: dev, Pavan Nikhilesh, Shijith Thotton, Volodymyr Fialko
Cc: jerinj, Rahul Bhansali, stable
Dpdk test application crashes when event inline IPsec test ran for
second time onwards.
In case of event device cleanup, Tx adapter data pointer is free
but not set back to NULL, which causes incomplete
initialization on next run.
Fixes: 6a24c7c4bcd1 ("event/cnxk: add Tx adapter freeing")
Cc: stable@dpdk.org
Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
---
Changes in v2: update in commit message for fixes and cc tag
drivers/event/cnxk/cnxk_eventdev_adptr.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/event/cnxk/cnxk_eventdev_adptr.c b/drivers/event/cnxk/cnxk_eventdev_adptr.c
index 6d975362e8..9a02026ea6 100644
--- a/drivers/event/cnxk/cnxk_eventdev_adptr.c
+++ b/drivers/event/cnxk/cnxk_eventdev_adptr.c
@@ -635,6 +635,7 @@ cnxk_sso_tx_adapter_free(uint8_t id __rte_unused,
if (dev->tx_adptr_data_sz && dev->tx_adptr_active_mask == 0) {
dev->tx_adptr_data_sz = 0;
free(dev->tx_adptr_data);
+ dev->tx_adptr_data = NULL;
}
return 0;
--
2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 4/5] event/cnxk: fix mempool cookies check
2023-05-18 15:48 ` [PATCH v2 1/5] common/cnxk: fix IPsec IPv6 tunnel address byte swap Rahul Bhansali
2023-05-18 15:49 ` [PATCH v2 3/5] event/cnxk: fix Tx adapter data pointer Rahul Bhansali
@ 2023-05-18 15:49 ` Rahul Bhansali
1 sibling, 0 replies; 3+ messages in thread
From: Rahul Bhansali @ 2023-05-18 15:49 UTC (permalink / raw)
To: dev, Pavan Nikhilesh, Shijith Thotton, Jerin Jacob, Nithin Dabilpuram
Cc: Rahul Bhansali, stable
Fix for mempool cookies get mark to be done before
meta to mbuf processing.
Fixes: 7a709964d9bb ("net/cnxk: use NPA batch burst free for meta buffers")
Cc: stable@dpdk.org
Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
---
Changes in v2: update in commit message for fixes and cc tag
drivers/event/cnxk/cn10k_worker.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h
index 06c71c6092..1e519d8156 100644
--- a/drivers/event/cnxk/cn10k_worker.h
+++ b/drivers/event/cnxk/cn10k_worker.h
@@ -22,9 +22,6 @@ cn10k_wqe_to_mbuf(uint64_t wqe, const uint64_t __mbuf, uint8_t port_id,
(flags & NIX_RX_OFFLOAD_TSTAMP_F ? 8 : 0);
struct rte_mbuf *mbuf = (struct rte_mbuf *)__mbuf;
- /* Mark mempool obj as "get" as it is alloc'ed by NIX */
- RTE_MEMPOOL_CHECK_COOKIES(mbuf->pool, (void **)&mbuf, 1, 1);
-
cn10k_nix_cqe_to_mbuf((struct nix_cqe_hdr_s *)wqe, tag,
(struct rte_mbuf *)mbuf, lookup_mem,
mbuf_init | ((uint64_t)port_id) << 48, flags);
@@ -166,6 +163,10 @@ cn10k_sso_hws_post_process(struct cn10k_sso_hws *ws, uint64_t *u64,
mbuf = u64[1] - sizeof(struct rte_mbuf);
rte_prefetch0((void *)mbuf);
+
+ /* Mark mempool obj as "get" as it is alloc'ed by NIX */
+ RTE_MEMPOOL_CHECK_COOKIES(((struct rte_mbuf *)mbuf)->pool, (void **)&mbuf, 1, 1);
+
if (flags & NIX_RX_OFFLOAD_SECURITY_F) {
const uint64_t mbuf_init =
0x100010000ULL | RTE_PKTMBUF_HEADROOM |
--
2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread