[dpdk-dev] [EXT] [PATCH v3 3/6] test/spinlock: get timestamp more precisely

Honnappa Nagarahalli Honnappa.Nagarahalli at arm.com
Thu Jan 3 19:22:53 CET 2019


> 
> On Thu, 2018-12-27 at 12:13 +0800, Gavin Hu wrote:
> > -------------------------------------------------------------------
> > ---
> > To precisely benchmark the spinlock performance, uses the precise
> > version of getting timestamps, which enforces the timestamps are
> > obtained at the expected places.
> >
> > Signed-off-by: Gavin Hu <gavin.hu at arm.com>
> > Reviewed-by: Phil Yang <phil.yang at arm.com>
> > ---
> >  test/test/test_spinlock.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/test/test/test_spinlock.c b/test/test/test_spinlock.c
> > index 6795195ae..648474833 100644
> > --- a/test/test/test_spinlock.c
> > +++ b/test/test/test_spinlock.c
> > @@ -113,14 +113,14 @@ load_loop_fn(void *func_param)
> >  	if (lcore != rte_get_master_lcore())
> >  		while (rte_atomic32_read(&synchro) == 0);
> >
> > -	begin = rte_get_timer_cycles();
> > +	begin = rte_rdtsc_precise();
> >  	while (time_diff < hz * TIME_MS / 1000) {
> >  		if (use_lock)
> >  			rte_spinlock_lock(&lk);
> >  		lcount++;
> >  		if (use_lock)
> >  			rte_spinlock_unlock(&lk);
> > -		time_diff = rte_get_timer_cycles() - begin;
> > +		time_diff = rte_rdtsc_precise() - begin;
> 
> Since _precise() versions add a full barrier, time_diff would include delay of
> a full barrier also. As mentioned in the commit message, Do you see
> rte_get_timer_cycles() called in unexpected places?
> Is there difference in time_diff apart from delay in rte_mb() when using with
> _precise() version?
> 
I do not see the need for this patch in the presence of 4/6 [1] in this series.

[1] http://mails.dpdk.org/archives/dev/2018-December/122110.html

> 
> 
> 
> 
> >  	}
> >  	lock_count[lcore] = lcount;
> >  	return 0;


More information about the dev mailing list