> -----Original Message----- > From: Naga Harish K, S V <[email protected]> > Sent: Tuesday, July 26, 2022 9:52 AM > To: Jayatheerthan, Jay <[email protected]>; [email protected] > Cc: [email protected]; [email protected] > Subject: [PATCH 2/2] eventdev/eth_tx: fix adapter stop > > adapter_stop function is stopping the adapter service using > rte_service_runstate_set() api and waiting until > rte_service_may_be_active() api returns stopped state in an > infinite loop. > > This results in hang issues if application calls > rte_service_lcore_stop() before adapter stop. > > remove the state check after setting the service state which > avoids running into hang issues. This also makes tx adapter stop > inline with remaining adapters. > > Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") > Cc: [email protected] > > Signed-off-by: Naga Harish K S V <[email protected]> > --- > lib/eventdev/rte_event_eth_tx_adapter.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c > b/lib/eventdev/rte_event_eth_tx_adapter.c > index 3251dad61f..41509ba750 100644 > --- a/lib/eventdev/rte_event_eth_tx_adapter.c > +++ b/lib/eventdev/rte_event_eth_tx_adapter.c > @@ -475,10 +475,6 @@ txa_service_ctrl(uint8_t id, int start) > ret = rte_service_runstate_set(txa->service_id, start); > rte_spinlock_unlock(&txa->tx_lock); > > - if (ret == 0 && !start) { > - while (rte_service_may_be_active(txa->service_id)) > - rte_pause(); > - } > return ret; > } > > -- > 2.23.0
Acked-by: Jay Jayatheerthan <[email protected]>

