> -----Original Message-----
> From: Phil Yang <phil.y...@arm.com>
> Sent: Tuesday, July 21, 2020 9:39 AM
> To: Van Haaren, Harry <harry.van.haa...@intel.com>; dev@dpdk.org
> Cc: david.march...@redhat.com; igor.roma...@oktetlabs.ru; Honnappa
> Nagarahalli <honnappa.nagaraha...@arm.com>; Yigit, Ferruh
> <ferruh.yi...@intel.com>; nd <n...@arm.com>; acon...@redhat.com;
> l.wojciec...@partner.samsung.com; nd <n...@arm.com>
> Subject: RE: [dpdk-dev] [PATCH v2 2/2] test/service: fix race condition on
> stopping lcore
> 
> <...>
> 
> > Subject: [dpdk-dev] [PATCH v2 2/2] test/service: fix race condition on
> > stopping lcore
> >
> > This commit fixes a potential race condition in the tests
> > where the lcore running a service would increment a counter
> > that was already reset by the test-suite thread. The resulting
> > race-condition incremented value could cause CI failures, as
> > indicated by DPDK's CI.
> >
> > This patch fixes the race-condition by making use of the
> > added rte_service_lcore_active() API, which indicates when
> > a service-core is no longer in the service-core polling loop.
> >
> > The unit test makes use of the above function to detect when
> > all statistics increments are done in the service-core thread,
> > and then the unit test continues finalizing and checking state.
> >
> > Fixes: f28f3594ded2 ("service: add attribute API")
> >
> > Reported-by: David Marchand <david.march...@redhat.com>
> > Signed-off-by: Harry van Haaren <harry.van.haa...@intel.com>
> 
> Minor nit, otherwise it looks good to me.
> 
> Reviewed-by: Phil Yang <phil.y...@arm.com>

Thanks, will add in v3.

<snip>

> > +   int i = 0;
> > +   while (rte_service_lcore_active(slcore_id) == 1) {
> > +           rte_delay_ms(1);
> 
> Just as it does in other functions, use the macro instead of the magic number
> would be better.
> rte_delay_ms(SERVICE_DELAY);

Sure, will change. I've refactored the while() to a for() too, think it cleans 
up a little.

<snip>

Reply via email to