On Wed, Jul 06, 2022 at 11:48:41AM -0500, Scott Cheloha wrote: > > On Jul 6, 2022, at 11:36 AM, Mike Larkin <mlar...@nested.page> wrote: > > > > On Tue, Jul 05, 2022 at 07:16:26PM -0500, Scott Cheloha wrote: > >> On Tue, Jul 05, 2022 at 01:38:32PM -0700, Mike Larkin wrote: > >>> On Mon, Jul 04, 2022 at 09:06:55PM -0500, Scott Cheloha wrote: > >>>> > >>>> [...] > >>> > >>> Here's the output from a 4 socket 80 thread machine. > >> > >> Oh nice. I think this is the biggest machine we've tried so far. > >> > >>> kern.timecounter reports tsc after boot. > >> > >> Excellent. > >> > >>> Looks like this machine doesn't have the adjust MSR? > >> > >> IA32_TSC_ADJUST first appears in the Intel SDM Vol. 3 some time in > >> 2011 or 2012. I can't find the exact revision. > >> > >> (I really wish there was a comprehensive version history for this sort > >> of thing, i.e. this MSR first appeared in the blah-blah uarch, this > >> instruction is available on all uarchs after yada-yada, etc.) > >> > >> There are apparently several versions of the E7-4870 in the E7 > >> "family". If your CPU predates that, or launched 2012-2014, the MSR > >> may not have made the cut. > >> > >> An aside: I cannot find any evidence of AMD supporting this MSR in any > >> processor. It would be really, really nice if they did. If you (or > >> anyone reading) knows anything about this, or whether they have an > >> equivalent MSR, shout it out. > >> > >>> Other than that, machine seems stable. > >> > >> Good, glad to hear it. Thank you for testing. > >> > >> Has this machine had issues using the TSC on -current in the past? > >> > >> (If you have the time) what does the dmesg look like on the -current > >> kernel with TSC_DEBUG enabled? > > > > Looks like you enabled TSC_DEBUG in your diff, so what I sent you is what > > you > > are asking for...? > > No, I mean on the -current *unpatched* kernel. Sorry if that wasn't > clear. > > Our -current kernel prints more detailed information if TSC_DEBUG > is enabled. In particular, I'm curious if the unpatched kernel > detects any skew or drift on your machine, and if so, how much. >
here you go. I didnt run with all 80 cpus since -current doesnt have my " > 64 cpus" diff, but I think this is what you're after in any case. -ml cpu0: TSC skew=0 observed drift=0 cpu1: TSC skew=112 observed drift=0 cpu2: TSC skew=102 observed drift=0 cpu3: TSC skew=-134 observed drift=0 cpu4: TSC skew=4 observed drift=0 cpu5: TSC skew=68 observed drift=0 cpu6: TSC skew=22 observed drift=0 cpu7: TSC skew=-52 observed drift=0 cpu8: TSC skew=8 observed drift=0 cpu9: TSC skew=-18 observed drift=0 cpu10: TSC skew=10 observed drift=0 cpu11: TSC skew=76 observed drift=0 cpu12: TSC skew=-2 observed drift=0 cpu13: TSC skew=-4 observed drift=0 cpu14: TSC skew=-2 observed drift=0 cpu15: TSC skew=-28 observed drift=0 cpu16: TSC skew=6 observed drift=0 cpu17: TSC skew=-8 observed drift=0 cpu18: TSC skew=0 observed drift=0 cpu19: TSC skew=-32 observed drift=0 cpu20: TSC skew=0 observed drift=0 cpu21: TSC skew=-26 observed drift=0 cpu22: TSC skew=0 observed drift=0 cpu23: TSC skew=22 observed drift=0 cpu24: TSC skew=-12 observed drift=0 cpu25: TSC skew=-14 observed drift=0 cpu26: TSC skew=76 observed drift=0 cpu27: TSC skew=-64 observed drift=0 cpu28: TSC skew=-2 observed drift=0 cpu29: TSC skew=34 observed drift=0 cpu30: TSC skew=22 observed drift=0 cpu31: TSC skew=-58 observed drift=0 cpu32: TSC skew=-2 observed drift=0 cpu33: TSC skew=6 observed drift=0 cpu34: TSC skew=46 observed drift=0 cpu35: TSC skew=20 observed drift=0 cpu36: TSC skew=34 observed drift=0 cpu37: TSC skew=-8 observed drift=0 cpu38: TSC skew=48 observed drift=0 cpu39: TSC skew=-10 observed drift=0 cpu40: TSC skew=0 observed drift=0 cpu41: TSC skew=72 observed drift=0 cpu42: TSC skew=2 observed drift=0 cpu43: TSC skew=-46 observed drift=0 cpu44: TSC skew=-2 observed drift=0 cpu45: TSC skew=-14 observed drift=0 cpu46: TSC skew=-2 observed drift=0 cpu47: TSC skew=-32 observed drift=0 cpu48: TSC skew=12 observed drift=0 cpu49: TSC skew=-16 observed drift=0 cpu50: TSC skew=84 observed drift=0 cpu51: TSC skew=-44 observed drift=0 cpu52: TSC skew=-4 observed drift=0 cpu53: TSC skew=4 observed drift=0 cpu54: TSC skew=16 observed drift=0 cpu55: TSC skew=-56 observed drift=0 cpu56: TSC skew=-10 observed drift=0 cpu57: TSC skew=6 observed drift=0 cpu58: TSC skew=6 observed drift=0 cpu59: TSC skew=-40 observed drift=0 cpu60: TSC skew=-4 observed drift=0 cpu61: TSC skew=-6 observed drift=0 cpu62: TSC skew=74 observed drift=0 cpu63: TSC skew=-48 observed drift=0