2021-03-16 11:59 (UTC-0700), Stephen Hemminger: > On Sun, 14 Feb 2021 05:16:11 +0300 > Dmitry Kozlyuk <dmitry.kozl...@gmail.com> wrote: > > > +rte_time_get_us(struct rte_time_us *now) > > +{ > > + struct timeval sys; > > + > > + gettimeofday(&sys, NULL); > > + now->sec = sys.tv_sec; > > + now->usec = sys.tv_usec; > > +} > > Why would drivers want the default (wall clock) time instead > of using monotonic clock. The wall clock gets changed by NTP > and that is rarely what you want except for the case of log messages.
* gettimeofday() is mostly used to measure time (tests, hns3 PMD), so you're right, monotonic clock is what that code really needs. * ena PMD uses gettimeofday() with pthread_cond_timedwait() without calling pthread_cond_setclock(), which is a bug, I believe. * hns3 PMD actually uses gettimeofday() for logs. For wall clock time there is C11 timespec_get(), so I agree this API should be changed to monotonic, thanks.