> From: Eads, Gage > Sent: Thursday, May 31, 2018 2:56 PM > To: [email protected] > Cc: [email protected]; Van Haaren, Harry > <[email protected]>; Richardson, Bruce <[email protected]>; > Rao, Nikhil <[email protected]>; Carrillo, Erik G > <[email protected]>; Gujjar, Abhinandan S > <[email protected]> > Subject: [PATCH 1/2] service: add mechanism for quiescing a service > > Existing service functions allow us to stop a service, but doing so doesn't > guarantee that the service has finished running on a service core. This > commit introduces rte_service_may_be_active(), which returns whether the > service may be executing on one or more lcores currently, or definitely is > not. > > The service core layer supports this function by setting a flag when > a service core is going to execute a service, and unsetting the flag when > the core is no longer able to run the service (its runstate becomes stopped > or the lcore is no longer mapped). > > With this new function, applications can set a service's runstate to > stopped, then poll rte_service_may_be_active() until it returns false. At > that point, the service is quiesced. > > Signed-off-by: Gage Eads <[email protected]>
Good approach to the problem. One nit below, version map should be alphabetical; Acked-by: Harry van Haaren <[email protected]> <snip> > diff --git a/lib/librte_eal/rte_eal_version.map > b/lib/librte_eal/rte_eal_version.map > index f7dd0e7bc..6f38b02dc 100644 > --- a/lib/librte_eal/rte_eal_version.map > +++ b/lib/librte_eal/rte_eal_version.map > @@ -238,6 +238,7 @@ DPDK_18.05 { > rte_service_set_runstate_mapped_check; > rte_service_set_stats_enable; > rte_service_start_with_defaults; > + rte_service_may_be_active; > > } DPDK_18.02; Version map to be alphabetically ordered.

