rte_rdtsc() - what is the performance impact of using rte_rdtsc() time

Hari Haran info2hariharan at gmail.com
Tue Oct 3 12:19:00 CEST 2023


On Wed, Sep 6, 2023 at 4:59 AM Stephen Hemminger <stephen at networkplumber.org>
wrote:

> On Tue, 29 Aug 2023 20:25:54 +0530
> Hari Haran <info2hariharan at gmail.com> wrote:
>
> > Hi All,
> >
> > Subject: rte_rdtsc() - what is the performance impact of using
> rte_rdtsc()
> > time under lcore thread while(1)
> >
> > Requirement:
> >
> >    1. Store the packet received timestamp - based on it packets will be
> >    removed from buffer if it exceeds the threshold timer of buffer
> >    2. Two threads are available, One is lcore(dedicated core) and another
> >    is pthread(not a dedicated core. In pthread, have to get the
> timestamp of
> >    last received packet timestamp
> >
> >
> > Query:
> >
> >    1. For every packet reception in lcore thread under while(1), will get
> >    the packet received timestamp using  rte_rdtsc() function. Whether
> usage of
> >    rte_rdtsc() function adds more delay in packet processing?
> >    2. Is there any way to convert rte_rdtsc() timestamp value to current
> >    system time in pthread()? In pthread, the last packet received time
> needed
> >    in the form of system time.
> >
> >
> > Thanks in advance.
> >
> > Regards,
> > Hariharan
>
> The problem is that rte_rdtsc() stops speculative execution so doing
> lots of TSC instructions can hurt performance.
>
> To correlate TSC timestamp to system time, you need to compute the offsets
> once at startup. Alternatively, don't use rte_rdtsc() and instead use
> clock_gettime() with the monotonic timer and the C library does the
> calculation
> for you.
>


As part of query 1 and based on your response, I am asking below query

But usage of clock_gettime() (kernel function) in lcore is advisable one?
My understanding is,
shall avoid usage of kernel function in lcore. Correct me if I am wrong?

TIA.

Regards,
Hariharan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/users/attachments/20231003/586386c2/attachment.htm>


More information about the users mailing list