agora inbox for [email protected]help / color / mirror / Atom feed
[current] readline breakage 270+ messages / 4 participants [nested] [flat]
* [current] readline breakage @ 2001-06-15 22:54 Alex Pilosov <[email protected]> 0 siblings, 1 reply; 270+ messages in thread From: Alex Pilosov @ 2001-06-15 22:54 UTC (permalink / raw) To: pgsql-hackers If USE_READLINE exists, but HAVE_RL_FILENAME_COMPLETION_FUNCTION does not, -current build breaks: gcc -O2 -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../src/interfaces/libpq -I../../../src/include -c tab-complete.c -o tab-complete.o tab-complete.c: In function `psql_completion': tab-complete.c:754: `filename_completion_function' undeclared (first use in this function) tab-complete.c:754: (Each undeclared identifier is reported only once tab-complete.c:754: for each function it appears in.) I am not sure what should it be defined as when RL_FILENAME_COMPLETION is not available...? -alex ^ permalink raw reply [nested|flat] 270+ messages in thread
* Re: [current] readline breakage @ 2001-06-15 23:15 Peter Eisentraut <[email protected]> parent: Alex Pilosov <[email protected]> 0 siblings, 1 reply; 270+ messages in thread From: Peter Eisentraut @ 2001-06-15 23:15 UTC (permalink / raw) To: Alex Pilosov <[email protected]>; +Cc: pgsql-hackers Alex Pilosov writes: > If USE_READLINE exists, but HAVE_RL_FILENAME_COMPLETION_FUNCTION does not, > -current build breaks: > gcc -O2 -pipe -Wall -Wmissing-prototypes -Wmissing-declarations > -I../../../src/interfaces/libpq -I../../../src/include -c tab-complete.c > -o tab-complete.o > tab-complete.c: In function `psql_completion': > tab-complete.c:754: `filename_completion_function' undeclared (first use > in this function) > tab-complete.c:754: (Each undeclared identifier is reported only once > tab-complete.c:754: for each function it appears in.) > > I am not sure what should it be defined as when RL_FILENAME_COMPLETION is > not available...? It should be in the readline.h header file. Is this yet another case of a broken OpenBSD readline installation? -- Peter Eisentraut [email protected] http://funkturm.homeip.net/~peter ^ permalink raw reply [nested|flat] 270+ messages in thread
* Re: [current] readline breakage @ 2001-06-16 02:13 Alex Pilosov <[email protected]> parent: Peter Eisentraut <[email protected]> 0 siblings, 1 reply; 270+ messages in thread From: Alex Pilosov @ 2001-06-16 02:13 UTC (permalink / raw) To: Peter Eisentraut <[email protected]>; +Cc: pgsql-hackers On Sat, 16 Jun 2001, Peter Eisentraut wrote: > Alex Pilosov writes: > > > If USE_READLINE exists, but HAVE_RL_FILENAME_COMPLETION_FUNCTION does not, > > -current build breaks: > > gcc -O2 -pipe -Wall -Wmissing-prototypes -Wmissing-declarations > > -I../../../src/interfaces/libpq -I../../../src/include -c tab-complete.c > > -o tab-complete.o > > tab-complete.c: In function `psql_completion': > > tab-complete.c:754: `filename_completion_function' undeclared (first use > > in this function) > > tab-complete.c:754: (Each undeclared identifier is reported only once > > tab-complete.c:754: for each function it appears in.) > > > > I am not sure what should it be defined as when RL_FILENAME_COMPLETION is > > not available...? > > It should be in the readline.h header file. Is this yet another case of a > broken OpenBSD readline installation? Yeah, sorry, my fault. OpenBSD 2.8 ships with a broken readline (dated 1996). 2.9 has a recent GNU readline. I don't think its worth supporting 2.8 readline either, but I forgot to check the archives. -alex ^ permalink raw reply [nested|flat] 270+ messages in thread
* Re: [current] readline breakage @ 2001-06-16 16:51 Peter Eisentraut <[email protected]> parent: Alex Pilosov <[email protected]> 0 siblings, 1 reply; 270+ messages in thread From: Peter Eisentraut @ 2001-06-16 16:51 UTC (permalink / raw) To: Alex Pilosov <[email protected]>; +Cc: pgsql-hackers; Jason Tishler <[email protected]> Alex Pilosov writes: > > > tab-complete.c: In function `psql_completion': > > > tab-complete.c:754: `filename_completion_function' undeclared (first use > > > in this function) > Yeah, sorry, my fault. OpenBSD 2.8 ships with a broken readline (dated > 1996). 2.9 has a recent GNU readline. I don't think its worth supporting > 2.8 readline either, but I forgot to check the archives. We used to declare filename_completion_function explicitly, but it seems to have been removed recently by a Cygwin-related patch from Jason Tishler. Jason, was this required to work on Cygwin or was it merely a "cleaning up" issue? -- Peter Eisentraut [email protected] http://funkturm.homeip.net/~peter ^ permalink raw reply [nested|flat] 270+ messages in thread
* Re: [current] readline breakage @ 2001-06-17 02:10 Jason Tishler <[email protected]> parent: Peter Eisentraut <[email protected]> 0 siblings, 1 reply; 270+ messages in thread From: Jason Tishler @ 2001-06-17 02:10 UTC (permalink / raw) To: Peter Eisentraut <[email protected]>; +Cc: Alex Pilosov <[email protected]>; pgsql-hackers Peter, [This may not make it to pgsql-hackers since I'm not subscribed, feel free to forward it on my behalf...] On Sat, Jun 16, 2001 at 06:51:59PM +0200, Peter Eisentraut wrote: > Alex Pilosov writes: > > > > > tab-complete.c: In function `psql_completion': > > > > tab-complete.c:754: `filename_completion_function' undeclared (first use > > > > in this function) > > > Yeah, sorry, my fault. OpenBSD 2.8 ships with a broken readline (dated > > 1996). 2.9 has a recent GNU readline. I don't think its worth supporting > > 2.8 readline either, but I forgot to check the archives. > > We used to declare filename_completion_function explicitly, but it seems > to have been removed recently by a Cygwin-related patch from Jason > Tishler. Jason, was this required to work on Cygwin or was it merely a > "cleaning up" issue? Yes, this change is required under Cygwin when building against readline 4.2. Note that my patch is modeled after the one that you did for completion_matches(): http://www.ca.postgresql.org/~petere/rl42-pg.patch Shouldn't the declaration for filename_completion_function() be picked up via readline.h? IMO, redeclaring functions especially from an external library (i.e., readline) is generally not considered good programming practice. Thanks, Jason -- Jason Tishler Director, Software Engineering Phone: 732.264.8770 x235 Dot Hill Systems Corp. Fax: 732.264.8798 82 Bethany Road, Suite 7 Email: [email protected] Hazlet, NJ 07730 USA WWW: http://www.dothill.com ^ permalink raw reply [nested|flat] 270+ messages in thread
* Re: [current] readline breakage @ 2001-06-17 10:08 Peter Eisentraut <[email protected]> parent: Jason Tishler <[email protected]> 0 siblings, 1 reply; 270+ messages in thread From: Peter Eisentraut @ 2001-06-17 10:08 UTC (permalink / raw) To: Jason Tishler <[email protected]>; +Cc: Alex Pilosov <[email protected]>; pgsql-hackers Jason Tishler writes: > Shouldn't the declaration for filename_completion_function() be picked up > via readline.h? IMO, redeclaring functions especially from an external > library (i.e., readline) is generally not considered good programming > practice. It should, but on some systems it evidently isn't. But since on Cygwin a correct import/export decorated declaration should be in the header files, would a second declaration without those attributes override or otherwise interfere with that? Otherwise I might have to stick it back covered by some #ifdef's. -- Peter Eisentraut [email protected] http://funkturm.homeip.net/~peter ^ permalink raw reply [nested|flat] 270+ messages in thread
* Re: [current] readline breakage @ 2001-06-18 00:50 Jason Tishler <[email protected]> parent: Peter Eisentraut <[email protected]> 0 siblings, 1 reply; 270+ messages in thread From: Jason Tishler @ 2001-06-18 00:50 UTC (permalink / raw) To: Peter Eisentraut <[email protected]>; +Cc: Alex Pilosov <[email protected]>; pgsql-hackers Peter, On Sun, Jun 17, 2001 at 12:08:59PM +0200, Peter Eisentraut wrote: > Jason Tishler writes: > > > Shouldn't the declaration for filename_completion_function() be picked up > > via readline.h? IMO, redeclaring functions especially from an external > > library (i.e., readline) is generally not considered good programming > > practice. > > It should, but on some systems it evidently isn't. But since on Cygwin a > correct import/export decorated declaration should be in the header files, > would a second declaration without those attributes override or otherwise > interfere with that? No, after applying the attached patch, Cygwin psql built against readline 4.2 without any problems. After some reflection, this outcome should have been obvious to me since my previous distributions built fine with the duplicate (but different) filename_completion_function() declarations. Note that I did not test this patch against the other three configuration that I used to test my original patch but I would not anticipate any issues with these configurations either. > Otherwise I might have to stick it back covered by some #ifdef's. The #ifdefs do not appear to be necessary. Do you want to submit this patch to pgsql-patches or should I? Thanks, Jason -- Jason Tishler Director, Software Engineering Phone: 732.264.8770 x235 Dot Hill Systems Corp. Fax: 732.264.8798 82 Bethany Road, Suite 7 Email: [email protected] Hazlet, NJ 07730 USA WWW: http://www.dothill.com Index: tab-complete.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/bin/psql/tab-complete.c,v retrieving revision 1.33 diff -u -p -r1.33 tab-complete.c --- tab-complete.c 2001/06/11 22:12:48 1.33 +++ tab-complete.c 2001/06/18 00:38:43 @@ -64,6 +64,8 @@ #define filename_completion_function rl_filename_completion_function #endif +extern char *filename_completion_function(); + #ifdef HAVE_RL_COMPLETION_MATCHES #define completion_matches(x, y) rl_completion_matches((x), ((rl_compentry_func_t *)(y))) #endif Attachments: [text/plain] tab-complete.c.patch (586B, ../../[email protected]/2-tab-complete.c.patch) download | inline diff: Index: tab-complete.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/bin/psql/tab-complete.c,v retrieving revision 1.33 diff -u -p -r1.33 tab-complete.c --- tab-complete.c 2001/06/11 22:12:48 1.33 +++ tab-complete.c 2001/06/18 00:38:43 @@ -64,6 +64,8 @@ #define filename_completion_function rl_filename_completion_function #endif +extern char *filename_completion_function(); + #ifdef HAVE_RL_COMPLETION_MATCHES #define completion_matches(x, y) rl_completion_matches((x), ((rl_compentry_func_t *)(y))) #endif ^ permalink raw reply [nested|flat] 270+ messages in thread
* Re: [current] readline breakage @ 2001-06-20 18:42 Peter Eisentraut <[email protected]> parent: Jason Tishler <[email protected]> 0 siblings, 1 reply; 270+ messages in thread From: Peter Eisentraut @ 2001-06-20 18:42 UTC (permalink / raw) To: Jason Tishler <[email protected]>; +Cc: Alex Pilosov <[email protected]>; pgsql-hackers I have checked this in: *** tab-complete.c 2001/06/11 22:12:48 1.33 --- tab-complete.c 2001/06/20 18:37:09 *************** *** 62,67 **** --- 62,70 ---- #ifdef HAVE_RL_FILENAME_COMPLETION_FUNCTION #define filename_completion_function rl_filename_completion_function + #else + /* missing in some header files */ + extern char *filename_completion_function(); #endif #ifdef HAVE_RL_COMPLETION_MATCHES I hope it still works for both of you. ;-) Jason Tishler writes: > Peter, > > On Sun, Jun 17, 2001 at 12:08:59PM +0200, Peter Eisentraut wrote: > > Jason Tishler writes: > > > > > Shouldn't the declaration for filename_completion_function() be picked up > > > via readline.h? IMO, redeclaring functions especially from an external > > > library (i.e., readline) is generally not considered good programming > > > practice. > > > > It should, but on some systems it evidently isn't. But since on Cygwin a > > correct import/export decorated declaration should be in the header files, > > would a second declaration without those attributes override or otherwise > > interfere with that? > > No, after applying the attached patch, Cygwin psql built against readline > 4.2 without any problems. After some reflection, this outcome should > have been obvious to me since my previous distributions built fine with > the duplicate (but different) filename_completion_function() declarations. > > Note that I did not test this patch against the other three configuration > that I used to test my original patch but I would not anticipate any issues > with these configurations either. > > > Otherwise I might have to stick it back covered by some #ifdef's. > > The #ifdefs do not appear to be necessary. > > Do you want to submit this patch to pgsql-patches or should I? > > Thanks, > Jason > > -- Peter Eisentraut [email protected] http://funkturm.homeip.net/~peter ^ permalink raw reply [nested|flat] 270+ messages in thread
* Re: [current] readline breakage @ 2001-06-21 12:56 Jason Tishler <[email protected]> parent: Peter Eisentraut <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Jason Tishler @ 2001-06-21 12:56 UTC (permalink / raw) To: Peter Eisentraut <[email protected]>; +Cc: Alex Pilosov <[email protected]>; pgsql-hackers Peter, On Wed, Jun 20, 2001 at 08:42:06PM +0200, Peter Eisentraut wrote: > I have checked this in: > > *** tab-complete.c 2001/06/11 22:12:48 1.33 > --- tab-complete.c 2001/06/20 18:37:09 > *************** > *** 62,67 **** > --- 62,70 ---- > > #ifdef HAVE_RL_FILENAME_COMPLETION_FUNCTION > #define filename_completion_function rl_filename_completion_function > + #else > + /* missing in some header files */ > + extern char *filename_completion_function(); > #endif > > #ifdef HAVE_RL_COMPLETION_MATCHES > > I hope it still works for both of you. ;-) I just tried the above with Cygwin/readline 4.2 (which is more important than Cygwin/readline 4.1 -- at least to me) and it still works. Thanks, Jason -- Jason Tishler Director, Software Engineering Phone: 732.264.8770 x235 Dot Hill Systems Corp. Fax: 732.264.8798 82 Bethany Road, Suite 7 Email: [email protected] Hazlet, NJ 07730 USA WWW: http://www.dothill.com ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
* [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() @ 2023-01-16 19:06 Andres Freund <[email protected]> 0 siblings, 0 replies; 270+ messages in thread From: Andres Freund @ 2023-01-16 19:06 UTC (permalink / raw) Useful to calculate the end of a time-bound loop without having to convert into time units (which is costly). Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: --- src/include/portability/instr_time.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h index 185be8d5cad..91492c62a39 100644 --- a/src/include/portability/instr_time.h +++ b/src/include/portability/instr_time.h @@ -22,6 +22,8 @@ * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, * evaluates to whether t changed * + * INSTR_TIME_SET_SECOND(t, s) set t to s seconds + * * INSTR_TIME_ADD(x, y) x += y * * INSTR_TIME_SUBTRACT(x, y) x -= y @@ -114,6 +116,9 @@ pg_clock_gettime_ns(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_clock_gettime_ns()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = NS_PER_S * (s)) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (t)) @@ -146,6 +151,9 @@ GetTimerFrequency(void) #define INSTR_TIME_SET_CURRENT(t) \ ((t) = pg_query_performance_counter()) +#define INSTR_TIME_SET_SECONDS(t, s) \ + ((t) = s * GetTimerFrequency()) + #define INSTR_TIME_GET_NANOSEC(t) \ ((uint64) (((t) * NS_PER_S) / GetTimerFrequency())) -- 2.38.0 --ftp5i6iirmkwy7na Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7-0004-wip-report-nanoseconds-in-pg_test_timing.patch" ^ permalink raw reply [nested|flat] 270+ messages in thread
end of thread, other threads:[~2023-01-16 19:06 UTC | newest] Thread overview: 270+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2001-06-15 22:54 [current] readline breakage Alex Pilosov <[email protected]> 2001-06-15 23:15 ` Peter Eisentraut <[email protected]> 2001-06-16 02:13 ` Alex Pilosov <[email protected]> 2001-06-16 16:51 ` Peter Eisentraut <[email protected]> 2001-06-17 02:10 ` Jason Tishler <[email protected]> 2001-06-17 10:08 ` Peter Eisentraut <[email protected]> 2001-06-18 00:50 ` Jason Tishler <[email protected]> 2001-06-20 18:42 ` Peter Eisentraut <[email protected]> 2001-06-21 12:56 ` Jason Tishler <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]> 2023-01-16 19:06 [PATCH v7 3/4] instr_time: Add INSTR_TIME_SET_SECOND() Andres Freund <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox