Re: gettimeofday is at the end of its usefulness?
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Greg Stark <stark@mit.edu>
Cc: Tom Lane <tgl@sss.pgh.pa.us>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2014-05-14T11:41:26Z
Lists: pgsql-hackers
On Tue, May 13, 2014 at 11:34 PM, Greg Stark <stark@mit.edu> wrote: > I always assumed the kernel used rdtsc to implement some of the high > performance timers. It can save the current time in a mapped page when > it schedules a process and then in the vdso syscall (ie in user-space) > it can use rdtsc to calculate the offset needed to adjust that > timestamp to the current time. This seems consistent with your > calculations that showed the 40ns overhead with +/- 10ns precision. Crazy idea: Instead of trying to time precisely the amount of time we spend in each node, configure a very-high frequency timer interrupt (or background thread?) that does: SomeGlobalVariablePointingToTheCurrentNode->profiling_counter++; -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Use clock_gettime(), if available, in instr_time measurements.
- 1d63f7d2d180 10.0 landed