Hi Pavan,

snipped
> >> Add graceful teardown that addresses both event mode and poll
> >mode.
> >>
> >> Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>
> >> ---
> >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

Reply via email to