patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Jie Zhou <jizh@linux.microsoft.com>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Cc: dev@dpdk.org, xiaoyun.li@intel.com, roretzla@microsoft.com,
	talshn@nvidia.com, pallavi.kadam@intel.com, thomas@monjalon.net,
	bruce.richardson@intel.com, ferruh.yigit@intel.com,
	konstantin.ananyev@intel.com, stable@dpdk.org
Subject: Re: [dpdk-stable] [PATCH v13 04/10] eal/Windows: add clock_gettime on Windows
Date: Wed, 23 Jun 2021 13:57:03 -0700	[thread overview]
Message-ID: <20210623205703.GB20289@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> (raw)
In-Reply-To: <20210621023036.61f982ca@sovereign>

On Mon, Jun 21, 2021 at 02:30:36AM +0300, Dmitry Kozlyuk wrote:
> 2021-05-05 12:12 (UTC-0700), Jie Zhou:
> > Add clock_gettime on Windows in rte_os_shim.h
> > 
> > Signed-off-by: Jie Zhou <jizh@microsoft.com>
> > Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> > ---
> >  lib/eal/windows/include/rte_os_shim.h | 38 +++++++++++++++++++++++++++
> >  1 file changed, 38 insertions(+)
> > 
> > diff --git a/lib/eal/windows/include/rte_os_shim.h b/lib/eal/windows/include/rte_os_shim.h
> > index 3763cae62..cd1f53dfa 100644
> > --- a/lib/eal/windows/include/rte_os_shim.h
> > +++ b/lib/eal/windows/include/rte_os_shim.h
> > @@ -77,4 +77,42 @@ rte_timespec_get(struct timespec *now, int base)
> >  
> >  #endif /* RTE_TOOLCHAIN_GCC */
> >  
> > +/* Identifier for system-wide realtime clock. */
> > +#define CLOCK_REALTIME                  0
> > +/* Monotonic system-wide clock. */
> > +#define CLOCK_MONOTONIC                 1
> > +/* High-resolution timer from the CPU. */
> > +#define CLOCK_PROCESS_CPUTIME_ID        2
> > +/* Thread-specific CPU-time clock. */
> > +#define CLOCK_THREAD_CPUTIME_ID         3
> 
> Are the last two constants needed?

Will remove these two unnecessary ones in V14.

> 
> > +
> > +#define NS_PER_SEC 1E9
> 
> NS_PER_SEC isn't provided by any interface that we shim,
> but it can be defined by applications (like testpmd does),
> so it's better to make this constant private to rte_clock_gettime().

Sure, will move into rte_clock_gettime()


> IMO, we should provide such constants with RTE_ prefix someday.
> rte_time.h provides NSEC_PER_SEC without RTE_ prefix already.
> 
> > +
> > +typedef int clockid_t;
> > +
> > +static inline int
> > +rte_clock_gettime(clockid_t clock_id, struct timespec *tp)
> > +{
> > +	LARGE_INTEGER pf, pc;
> > +	LONGLONG nsec;
> > +	switch (clock_id) {
> > +	case CLOCK_REALTIME:
> > +		if (timespec_get(tp, TIME_UTC) != TIME_UTC)
> > +			return -1;
> > +		return 0;
> > +	case CLOCK_MONOTONIC:
> > +		if (QueryPerformanceFrequency(&pf) == 0)
> > +			return -1;
> > +		if (QueryPerformanceCounter(&pc) == 0)
> > +			return -1;
> 
> These calls never fail on any supported Windows version.

Agree, these two zero check is redundant as per ms document, systems run Windows XP or later will always succeed and will never return zero. Will remove the check.



  reply	other threads:[~2021-06-23 20:57 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1619805162-10684-1-git-send-email-jizh@linux.microsoft.com>
2021-05-04  0:33 ` [dpdk-stable] [PATCH v10 00/10] app/testpmd: enable testpmd " Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 01/10] lib: build libraries that testpmd depends on Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 02/10] eal/windows: add necessary macros Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 03/10] eal/windows: add device event stubs Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 04/10] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 05/10] app/testpmd: resolve name collisions Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 06/10] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 07/10] app/testpmd: replace POSIX specific code Jie Zhou
2021-05-05  8:34     ` Tal Shnaiderman
2021-05-05 16:09       ` Jie Zhou
2021-05-05 16:41         ` [dpdk-stable] [dpdk-dev] " Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 08/10] app/testpmd: fix headers inclusion Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 09/10] app/testpmd: fix unused function warnings Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 10/10] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-05-04  7:31   ` [dpdk-stable] [PATCH v10 00/10] app/testpmd: enable " Thomas Monjalon
2021-05-05 16:00     ` Jie Zhou
2021-05-04 23:51   ` Kadam, Pallavi
2021-05-05 17:18   ` [dpdk-stable] [PATCH v11 " Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 01/10] lib: build libraries that testpmd depends on Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 02/10] eal/windows: add necessary macros Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 03/10] eal/windows: add device event stubs Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 04/10] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 05/10] app/testpmd: resolve name collisions Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 06/10] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 07/10] app/testpmd: replace POSIX specific code Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 08/10] app/testpmd: fix headers inclusion Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 09/10] app/testpmd: fix unused function warnings Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 10/10] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-05-05 17:36     ` [dpdk-stable] [PATCH v12 00/10] app/testpmd: enable " Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 01/10] lib: build libraries that testpmd depends on Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 02/10] eal/windows: add necessary macros Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 03/10] eal/windows: add device event stubs Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 04/10] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 05/10] app/testpmd: resolve name collisions Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 06/10] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 07/10] app/testpmd: replace POSIX specific code Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 08/10] app/testpmd: fix headers inclusion Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 09/10] app/testpmd: fix unused function warnings Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 10/10] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-05-05 19:12       ` [dpdk-stable] [PATCH v13 00/10] app/testpmd: enable " Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 01/10] lib: build libraries that testpmd depends on Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 02/10] eal/windows: add necessary macros Jie Zhou
2021-06-20 23:28           ` Dmitry Kozlyuk
2021-06-23 20:51             ` Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 03/10] eal/windows: add device event stubs Jie Zhou
2021-06-20 23:28           ` Dmitry Kozlyuk
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 04/10] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-06-23 20:57             ` Jie Zhou [this message]
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 05/10] app/testpmd: resolve name collisions Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 06/10] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 07/10] app/testpmd: replace POSIX specific code Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 08/10] app/testpmd: fix headers inclusion Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-06-23 20:58             ` Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 09/10] app/testpmd: fix unused function warnings Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-06-23 21:26             ` Jie Zhou
2021-06-24 15:45               ` [dpdk-stable] [dpdk-dev] " Tyler Retzlaff
2021-06-24 18:44                 ` Dmitry Kozlyuk
2021-06-24 21:36                   ` Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 10/10] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-05-06  7:20         ` [dpdk-stable] [PATCH v13 00/10] app/testpmd: enable " Tal Shnaiderman
2021-06-23 22:34         ` [dpdk-stable] [PATCH v14 0/9] " Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 1/9] lib: build libraries that testpmd depends on Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-28 10:01             ` Andrew Rybchenko
2021-06-28 10:35               ` [dpdk-stable] [dpdk-dev] " Andrew Rybchenko
2021-06-28 14:10                 ` Tyler Retzlaff
2021-06-29 18:29                   ` Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 2/9] eal/windows: add necessary macros Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 3/9] eal/windows: add device event stubs Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 4/9] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 5/9] app/testpmd: resolve name collisions Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 6/9] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-06-28 10:55             ` Andrew Rybchenko
2021-06-28 14:29               ` [dpdk-stable] [dpdk-dev] " Tyler Retzlaff
2021-06-29 18:34                 ` Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 7/9] app/testpmd: replace POSIX specific code Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 8/9] app/testpmd: fix unused function warnings Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 9/9] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-06-29 20:23           ` [dpdk-stable] [PATCH v15 0/9] app/testpmd: enable " Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 1/9] lib: build libraries that testpmd depends on Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 2/9] eal/windows: add necessary macros Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 3/9] eal/windows: add device event stubs Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 4/9] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 5/9] app/testpmd: resolve name collisions Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 6/9] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 7/9] app/testpmd: replace POSIX specific code Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 8/9] app/testpmd: fix unused function warnings Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 9/9] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-06-29 20:50             ` [dpdk-stable] [PATCH v16 0/9] app/testpmd: enable " Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 1/9] lib: build libraries that testpmd depends on Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 2/9] eal/windows: add necessary macros Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 3/9] eal/windows: add device event stubs Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 4/9] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 5/9] app/testpmd: resolve name collisions Jie Zhou
2021-07-01 13:41                 ` Andrew Rybchenko
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 6/9] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-07-01 13:34                 ` Andrew Rybchenko
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 7/9] app/testpmd: replace POSIX specific code Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 8/9] app/testpmd: fix unused function warnings Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 9/9] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-07-01 13:49               ` [dpdk-stable] [PATCH v16 0/9] app/testpmd: enable " Andrew Rybchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210623205703.GB20289@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net \
    --to=jizh@linux.microsoft.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=ferruh.yigit@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=pallavi.kadam@intel.com \
    --cc=roretzla@microsoft.com \
    --cc=stable@dpdk.org \
    --cc=talshn@nvidia.com \
    --cc=thomas@monjalon.net \
    --cc=xiaoyun.li@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).