Hi Pavan,
snipped
> >> Add graceful teardown that addresses both event mode and poll
> >mode.
> >>
> >> Signed-off-by: Pavan Nikhilesh <[email protected]>
> >> ---
> >snipped
> >> + if (rsrc->event_mode) {
> >> + struct l2fwd_event_resources *evt_rsrc =
> >> + rsrc->evt_rsrc;
> >> + for (i = 0; i < evt_rsrc->rx_adptr.nb_rx_adptr; i++)
> >> + rte_event_eth_rx_adapter_stop(
> >> + evt_rsrc->rx_adptr.rx_adptr[i]);
> >Question from my end, for a graceful tear down first we stop the RX
> >adapter then ensure after all events from worker are either dropped or
> >transmit. Then we continue to TX adapter is stop. Is this right way?
>
> The general rule of thumb is to stop producers before consumers.
>
> >> + for (i = 0; i < evt_rsrc->tx_adptr.nb_tx_adptr; i++)
> >> + rte_event_eth_tx_adapter_stop(
> >> + evt_rsrc->tx_adptr.tx_adptr[i]);
> >Should we call `rte_cleanup` to clean up the service core usage?
>
> Since we are exiting from here I don't think we explicitly need to do a
> cleanup of
> service config.
As I recollect in dpdk 18.11, there was a bug and fix done for service core
cleanup with `rte_cleanup`. If this taken care implicity 19.11, then yes you
are right there is no need of `rte_celanup` when service cores are in use.
>
> >
> >> }
> >> printf("Bye...\n");
> >>
> >> --
> >> 2.17.1