| From: | Lukas Fittl <lukas(at)fittl(dot)com> |
|---|---|
| To: | Haibo Yan <tristan(dot)yim(at)gmail(dot)com> |
| Cc: | Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, David Geier <geidav(dot)pg(at)gmail(dot)com> |
| Subject: | Re: Reduce timing overhead of EXPLAIN ANALYZE using rdtsc? |
| Date: | 2026-04-12 16:38:15 |
| Message-ID: | CAP53Pkz7E1U6NDrdhHNeQk8qFTmQ=4N+LgZMpQ52jjxC8zMUCQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi Haibo,
On Sat, Apr 11, 2026 at 11:04 PM Haibo Yan <tristan(dot)yim(at)gmail(dot)com> wrote:
>
> Thanks for the patch. I may be missing something, but I wonder if the new debug path can still end up calling pg_tsc_calibrate_frequency() after tsc_detect_frequency() already bailed out with no rdtscp or not invariant.
> If so, it seems the diagnostics path is no longer following the same gate as the normal TSC-usability path, and could still execute pg_rdtscp() while only trying to print debug info.
> Maybe I am overlooking a guard somewhere, but I think it would be safer either to use the same prerequisites here, or keep this helper purely passive.
Yes, that's a good point. I don't think the TSC not being invariant
would be a problem on its own, but the RDTSCP instruction not being
available would presumably make the frequency function fail.
I think the easiest way to approach that is to only run the
calibration function in the debug path when we have a frequency, but
it wasn't determined through calibration. Per earlier note from Andres
running calibration in those cases is intentional to help us compare
CPUID data with what we got from calibration.
Attached v28, which also adds the exit(1) mentioned earlier.
FWIW, for archive's sake, drongo is green again now, thanks to commit
7fc36c5db550 (Avoid CPUID 0x15/0x16 for Hypervisor TSC frequency).
Thanks,
Lukas
--
Lukas Fittl
| Attachment | Content-Type | Size |
|---|---|---|
| v28-0001-pg_test_timing-Show-additional-TSC-clock-source-.patch | application/x-patch | 11.7 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2026-04-12 17:55:26 | Re: pgsql: Reduce log level of some logical decoding messages from LOG to D |
| Previous Message | jian he | 2026-04-12 15:11:19 | bug: UPDATE FOR PORTION OF interact with updatable view |