> > 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...@arm.com> > > Reviewed-by: Phil Yang <phil.y...@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;