> -----Original Message-----
> From: Phil Yang <[email protected]>
> Sent: Tuesday, July 21, 2020 9:39 AM
> To: Van Haaren, Harry <[email protected]>; [email protected]
> Cc: [email protected]; [email protected]; Honnappa
> Nagarahalli <[email protected]>; Yigit, Ferruh
> <[email protected]>; nd <[email protected]>; [email protected];
> [email protected]; nd <[email protected]>
> 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 <[email protected]>
> > Signed-off-by: Harry van Haaren <[email protected]>
>
> Minor nit, otherwise it looks good to me.
>
> Reviewed-by: Phil Yang <[email protected]>
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>