Skip to content

instrumentation: Show additional TSC clock source info in pg_test_timing#71

Open
lfittl wants to merge 2 commits into
masterfrom
pg-test-timing-info-2
Open

instrumentation: Show additional TSC clock source info in pg_test_timing#71
lfittl wants to merge 2 commits into
masterfrom
pg-test-timing-info-2

Conversation

@lfittl
Copy link
Copy Markdown
Owner

@lfittl lfittl commented Apr 9, 2026

No description provided.

lfittl added 2 commits April 8, 2026 20:58
This restricts the retrieval of the TSC frequency whilst under a
Hypervisor to either Hypervisor-specific CPUID registers (0x40000010),
or TSC calibration. We previously allowed retrieving from the traditional
CPUID registers for TSC frequency (0x15/0x16) like on bare metal, but that
is not trustworthy and can report a wildly incorrect frequency, like 7 kHz
when the actual calibrated frequencty is 2.5 GHz.

Per report from buildfarm member drongo.

Author: Lukas Fittl <lukas@fittl.com>
Discussion: https://www.postgresql.org/message-id/flat/jr4hk2sxhqcfpb67ftz5g4vw33nm67cgf7go3wwmqsafu5aclq%405m67ukuhyszz#2fdfd95b6a4a74410196999818e16cfc
In some cases its needed to understand whether TSC frequency data was
sourced from CPUID, and which of the registers. This shows this debug
information at the end of pg_test_timing, through use of a new
pg_timing_tsc_clock_source_info function, replacing the previous
pg_tsc_calibrate_frequency export that was only needed for debug info.

Author: Lukas Fittl <lukas@fittl.com>
Suggested-by: Andres Freund <andres@anarazel.de>
Discussion: https://www.postgresql.org/message-id/flat/jr4hk2sxhqcfpb67ftz5g4vw33nm67cgf7go3wwmqsafu5aclq%405m67ukuhyszz#2fdfd95b6a4a74410196999818e16cfc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant