On 4/6/21 10:16 AM, YASUOKA Masahiko wrote: > Hi, > > I'm sorry.. I send a wrong diff to the people. The result from > giovanni@ and mcmer seems wrong. I suppose stu@ used the correct > diff. > > giovanni and mcmer, can you test with the correct diff again? > > I attached the correct diff at last of this mail. > new .tgz attached.
Giovanni > I'm sorry again. > > On Tue, 6 Apr 2021 09:21:40 +0200 > Giovanni Bechis <giova...@paclan.it> wrote: >> On Mon, Apr 05, 2021 at 07:14:49PM +0900, YASUOKA Masahiko wrote: >>> Hi, >>> >>>> Another issue that I see is that people have not reported, at least >> [...] >>>> publicly, that this runs fine on their normal OpenBSD machines. >>> >>> Some dmesgs posted on public lists seems to have the same problem. >>> >>> https://marc.info/?l=openbsd-bugs&w=2&r=1&s=disabling+user+TSC&q=b >>> https://marc.info/?l=openbsd-tech&w=2&r=1&s=disabling+user+TSC&q=b >>> https://marc.info/?l=openbsd-ports&w=2&r=1&s=disabling+user+TSC&q=b >>> >>> For example, >>> >>> https://marc.info/?l=openbsd-bugs&m=161618496905444&w=2 >>> >>> |Subject: wg(4) crash >>> |From: Stuart Henderson <stu () spacehopper ! org> >>> |bios0: vendor Dell Inc. version "2.9.0" date 12/06/2019 >>> |bios0: Dell Inc. PowerEdge R620 >>> |cpu1: disabling user TSC (skew=135) >>> |cpu1: smt 0, core 0, package 1 >>> >>> https://marc.info/?l=openbsd-ports&m=161306073708427&w=2 >>> |Subject: Re: sysutils/nut README APC over USB device chgrp/chmod >>> |From: Marcus MERIGHI <mcmer-openbsd () tor ! at> >>> |bios0: vendor American Megatrends Inc. version "3.1" date 06/07/2018 >>> |cpu11: disabling user TSC (skew=240) >>> |cpu11: smt 0, core 3, package 1 >>> >>> these 2 are real machine and using 2 CPU sockets. >>> >>> https://marc.info/?l=openbsd-ports&m=161562278114172&w=2 >>> |Subject: ruby27 vs Puppet >>> |From: Giovanni Bechis <giovanni () paclan ! it> >>> |bios0: vendor Phoenix Technologies LTD version "6.00" date 12/12/2018 >>> |bios0: VMware, Inc. VMware Virtual Platform >>> |cpu1: disabling user TSC (skew=-12705) >>> >>> VMware. seems the same problem of mine. >>> >>> I'll ask people to do the same test which cheloha@ write in previous >>> mail. >>> >> Attached my data and dmesg produced by the script on my VMware vm. >> >> Cheers >> Giovanni > > Index: sys/arch/amd64/amd64/tsc.c > =================================================================== > RCS file: /var/cvs/openbsd/src/sys/arch/amd64/amd64/tsc.c,v > retrieving revision 1.23 > diff -u -p -r1.23 tsc.c > --- sys/arch/amd64/amd64/tsc.c 23 Feb 2021 04:44:30 -0000 1.23 > +++ sys/arch/amd64/amd64/tsc.c 5 Apr 2021 10:28:00 -0000 > @@ -311,16 +311,42 @@ tsc_read_bp(struct cpu_info *ci, uint64_ > *aptscp = tsc_sync_val; > } > > +#define TSC_SYNC_NTIMES 1000 > + > +static int tsc_difs[MAXCPUS][TSC_SYNC_NTIMES]; > + > +void > +tsc_debug(void) > +{ > + int i, cpuid = curcpu()->ci_cpuid; > + > + for (i = 0; i < TSC_SYNC_NTIMES; i++) { > + if (i % 10 == 0) > + printf("%5d", tsc_difs[cpuid][i]); > + else > + printf(" %5d", tsc_difs[cpuid][i]); > + if (i % 10 == 9) > + printf("\n"); > + } > + printf("\n"); > +} > + > void > tsc_sync_bp(struct cpu_info *ci) > { > + int i, mindif = INT_MAX, dif; > uint64_t bptsc, aptsc; > > - tsc_read_bp(ci, &bptsc, &aptsc); /* discarded - cache effects */ > - tsc_read_bp(ci, &bptsc, &aptsc); > + for (i = 0; i < TSC_SYNC_NTIMES; i++) { > + tsc_read_bp(ci, &bptsc, &aptsc); > + dif = bptsc - aptsc; > + if (abs(dif) < abs(mindif)) > + mindif = dif; > + tsc_difs[ci->ci_cpuid][i] = dif; > + } > > /* Compute final value to adjust for skew. */ > - ci->ci_tsc_skew = bptsc - aptsc; > + ci->ci_tsc_skew = mindif; > } > > /* > @@ -351,8 +377,10 @@ tsc_post_ap(struct cpu_info *ci) > void > tsc_sync_ap(struct cpu_info *ci) > { > - tsc_post_ap(ci); > - tsc_post_ap(ci); > + int i; > + > + for (i = 0; i < TSC_SYNC_NTIMES; i++) > + tsc_post_ap(ci); > } > > void >
monotonic.tgz
Description: application/compressed-tar
OpenPGP_signature
Description: OpenPGP digital signature