[dpdk-dev] [PATCH] app/eventdev: use proper teardown sequence
Pavan Nikhilesh
pbhagavatula at caviumnetworks.com
Tue Jul 17 16:33:07 CEST 2018
Use proper teardown sequence when SIGINT is caught to prevent
eventdev from going into undefined state.
Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
---
app/test-eventdev/evt_main.c | 6 +++++-
app/test-eventdev/test_pipeline_common.c | 1 -
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/app/test-eventdev/evt_main.c b/app/test-eventdev/evt_main.c
index 57bb94570..bc25fb386 100644
--- a/app/test-eventdev/evt_main.c
+++ b/app/test-eventdev/evt_main.c
@@ -25,8 +25,12 @@ signal_handler(int signum)
signum);
/* request all lcores to exit from the main loop */
*(int *)test->test_priv = true;
- rte_wmb();
+ if (test->ops.ethdev_destroy)
+ test->ops.ethdev_destroy(test, &opt);
+
+ rte_event_dev_stop(opt.dev_id);
+ rte_wmb();
rte_eal_mp_wait_lcore();
if (test->ops.test_result)
diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c
index 719518ff3..70fd04517 100644
--- a/app/test-eventdev/test_pipeline_common.c
+++ b/app/test-eventdev/test_pipeline_common.c
@@ -476,7 +476,6 @@ pipeline_eventdev_destroy(struct evt_test *test, struct evt_options *opt)
{
RTE_SET_USED(test);
- rte_event_dev_stop(opt->dev_id);
rte_event_dev_close(opt->dev_id);
}
--
2.18.0
More information about the dev
mailing list