On Thu, Mar 25, 2021 at 07:24:23PM -0400, Josh Rickmar wrote:
> On Thu, Mar 25, 2021 at 05:28:54PM -0500, Scott Cheloha wrote:
> > Feel free to share your raw data.
> 
> Attached.

Hmmm, interesting stuff.

$ ministat -q cpu*                
x cpu1-skew
+ cpu2-skew
* cpu3-skew
% cpu4-skew
# cpu5-skew
@ cpu6-skew
O cpu7-skew
    N           Min           Max        Median           Avg        Stddev
x 1000 1.4605543e+09 1.4605543e+09 1.4605543e+09 1.4605543e+09          -nan
+ 1000 1.4605543e+09 1.4605544e+09 1.4605544e+09 1.4605544e+09          -nan
No difference proven at 95.0% confidence
* 1000 1.4605543e+09 1.4605543e+09 1.4605543e+09 1.4605543e+09     32.397926
No difference proven at 95.0% confidence
% 1000 1.4605543e+09 1.4605544e+09 1.4605544e+09 1.4605544e+09          -nan
No difference proven at 95.0% confidence
# 1000 1.4605543e+09 1.4605543e+09 1.4605543e+09 1.4605543e+09     45.817587
No difference proven at 95.0% confidence
@ 1000 1.4605543e+09 1.4605544e+09 1.4605544e+09 1.4605544e+09     129.59171
Difference at 95.0% confidence
        60.42 +/- 6.73519
        4.13679e-06% +/- 4.61139e-07%
        (Student's t, pooled s = 76.8384)
O 1000 1.4605543e+09 1.4605543e+09 1.4605543e+09 1.4605543e+09     104.98128
Difference at 95.0% confidence
        5.71 +/- 4.81512
        3.90947e-07% +/- 3.29678e-07%
        (Student's t, pooled s = 54.9334)

I wish ministat wasn't NaNing the stddev but I don't have the time
to work around it right now.

Anyway, every AP TSC is off from the BSP by about ~1.46 billion
cycles.  All skews fall between 1460554280 and 1460554380.  So, pretty
consistent, but consistently off.

You definitely won't be able to use the TSC for userspace timecounting
until someone decides how to map the skews into userspace.

Or maybe if someone will figure out why the TSCs on machines like
yours are not synchronized at boot and devises a way to prevent it
from happening at all.

Thanks for the data!

Reply via email to