[dpdk-dev] [PATCH v5 3/3] timer: support EAL functions on Windows
Dmitry Kozlyuk
dmitry.kozliuk at gmail.com
Thu May 7 22:54:04 CEST 2020
On 2020-05-07 16:05 GMT+0300 Fady Bader wrote:
> Implemented the needed Windows eal timer functions.
[snip]
> +void
> +rte_delay_us_sleep(unsigned int us)
> +{
> + LARGE_INTEGER start, end;
> + LARGE_INTEGER freq;
> +
> + QueryPerformanceCounter(&start);
> + QueryPerformanceFrequency(&freq);
> +
> + LARGE_INTEGER ticks;
> + ticks.QuadPart = freq.QuadPart * us / US_PER_SEC;
> +
> + QueryPerformanceCounter(&end);
> + while ((end.QuadPart - start.QuadPart) < ticks.QuadPart) {
> + rte_pause();
> + QueryPerformanceCounter(&end);
> + }
> +}
Your previous implementation was correct, this one is not. Per documentation,
rte_delay_us_sleep() should *sleep* in an OS-dependent way, like you did with
waitable timers previously, while rte_delay_us() does a busy loop like this.
Please restore this function from v4, the rest LGTM.
P.S. Fixed my email in Cc.
--
Dmitry Kozlyuk
More information about the dev
mailing list