[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