[PATCH v2 2/3] examples: update event vector free routine

pbhagavatula at marvell.com pbhagavatula at marvell.com
Wed Sep 21 18:43:41 CEST 2022


From: Pavan Nikhilesh <pbhagavatula at marvell.com>

Update event vector free routine to account for element
offset while freeing elements.

Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
---
 app/test-eventdev/test_pipeline_common.c | 5 +++--
 examples/l2fwd-event/l2fwd_common.c      | 5 +++--
 examples/l3fwd/l3fwd_event.c             | 5 +++--
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c
index 4f40d37659..f9a67b2a14 100644
--- a/app/test-eventdev/test_pipeline_common.c
+++ b/app/test-eventdev/test_pipeline_common.c
@@ -673,8 +673,9 @@ pipeline_vector_array_free(struct rte_event events[], uint16_t num)
 	uint16_t i;
 
 	for (i = 0; i < num; i++) {
-		rte_pktmbuf_free_bulk(events[i].vec->mbufs,
-				      events[i].vec->nb_elem);
+		rte_pktmbuf_free_bulk(
+			&events[i].vec->mbufs[events[i].vec->elem_offset],
+			events[i].vec->nb_elem);
 		rte_mempool_put(rte_mempool_from_obj(events[i].vec),
 				events[i].vec);
 	}
diff --git a/examples/l2fwd-event/l2fwd_common.c b/examples/l2fwd-event/l2fwd_common.c
index 41a0d3f22f..03983b3bd7 100644
--- a/examples/l2fwd-event/l2fwd_common.c
+++ b/examples/l2fwd-event/l2fwd_common.c
@@ -121,8 +121,9 @@ l2fwd_event_vector_array_free(struct rte_event events[], uint16_t num)
 	uint16_t i;
 
 	for (i = 0; i < num; i++) {
-		rte_pktmbuf_free_bulk(events[i].vec->mbufs,
-				      events[i].vec->nb_elem);
+		rte_pktmbuf_free_bulk(
+			&events[i].vec->mbufs[events[i].vec->elem_offset],
+			events[i].vec->nb_elem);
 		rte_mempool_put(rte_mempool_from_obj(events[i].vec),
 				events[i].vec);
 	}
diff --git a/examples/l3fwd/l3fwd_event.c b/examples/l3fwd/l3fwd_event.c
index 0b58475c85..3d60fd7d91 100644
--- a/examples/l3fwd/l3fwd_event.c
+++ b/examples/l3fwd/l3fwd_event.c
@@ -294,8 +294,9 @@ l3fwd_event_vector_array_free(struct rte_event events[], uint16_t num)
 	uint16_t i;
 
 	for (i = 0; i < num; i++) {
-		rte_pktmbuf_free_bulk(events[i].vec->mbufs,
-				      events[i].vec->nb_elem);
+		rte_pktmbuf_free_bulk(
+			&events[i].vec->mbufs[events[i].vec->elem_offset],
+			events[i].vec->nb_elem);
 		rte_mempool_put(rte_mempool_from_obj(events[i].vec),
 				events[i].vec);
 	}
-- 
2.25.1



More information about the dev mailing list