05:09:34 .... and Intel's SDM actually does also define MSRs for some models for the TSC frequency as well... which gives the correct value for my home box... 05:09:56 i threw those together, but let me see how many of these from the SDM are in the lab 06:01:05 https://gist.github.com/jasonbking/744fdf69493219b717269c0ed76012f6 if anyone wants to check out a userland tester of it 06:01:30 (might need to exclude VMs) 14:32:24 ahh.. so actually it was a rounding error because the host's tsc frequency was measured 14:32:50 at least the vmm kernel module on illumos actually emulates the MSR with the host's tsc frequency 14:32:59 (so when exact, the guest gets an exact value) 15:08:15 jbk: you have Nehalem and Ivy/Sandy Bridge in there but not Westmere? 15:11:37 added INTC_MODEL_WESTMERE* to the INTC_MODEL_NEHALEM* and came up with a number that matched the calibration.. 15:13:11 ahh... the SDM is annoying in how it documents them... 15:13:24 I was looking at all the platforms that documented the MSR_PLATFORM_INFO msr 15:13:48 except westmere is 'we also do all these others in this other table' 15:14:00 but that does appear to be valid for them as well.. 15:17:05 at least 0x1, 1e, 1f, 2e (need to look at x86_archext.h to see what those are) 15:31:16 My understanding is that Westmere is more or less a process shrink of Nehalem so not surprising the docs are a little vaguer on it. 15:45:13 oh, wait, off by a factor of 1000. Your program (with Westmere added) said "frequency = 2533270 MHz" (should be kHz); system calibration said 2533260631 Hz 15:56:40 terahertz! 16:02:06 oh grr.. 16:02:10 let me update and fix... 16:02:30 (that was just to try to make it a bit easier to read) 16:31:49 sommerfeld: gist updated 16:32:08 i went through all the families and verified the 'see ' and added all of those 16:32:24 (which really is i guess everything recent) 16:33:08 separate from this though, I'm wondering if the missing model #defines should be a separate ticket 16:33:47 (and if the names i used are correct or if there's better ones -- it feels like the model specifics can be a bit scattered in the docs) 16:34:48 frequency = 2533270000 Hz (2.533 GHz) 16:35:59 does that sound correct for your CPU? 16:36:34 that matches the PIT calibration on the Westmere. 16:36:39 ok 16:36:55 i guess i'll go ahead and create a ticket 16:37:05 though might to a little more discovery before I put up a PR 16:37:13 (trying that on various intel systems) 16:37:57 (posted above: PIT calibratio was 2533260631 Hz which is within 3ppm of the nominal value). 16:39:52 on the other hand, on the much newer i5-1235U, the MSRs say 2500000000 Hz while CPUID says 2496000000 Hz and HPET calibration says 2495993673 Hz 16:41:41 which is more like 1600ppm error, well outside of what NTP can tolerate. 16:42:53 so one datapoint says cpuid should be preferred to MSR. 16:43:44 given the CPUID based approach is newer (it also supports > 8 bits of precision), that seems reasonable... 16:44:45 i should probably have it output the family value 16:45:22 just to make it easier.. 16:53:12 oh that's rather annoying 16:53:22 i had typed up everything for the issue, clicked create 16:53:42 and the AI spam checker popped up, and apparently ignored everthing, losing all of the text... 16:54:28 (I blame AI for needing that) 16:55:54 i guess i'll try later... need to do a few things outside before it rains 23:43:17 worked that time 23:43:44 and partial victory for my other stuff :) 23:45:40 also been quite a while since I've crimped RJ45..a bit rusty :P