Understood, thanks for the update. At least the i386 angle it will be
a little more searchable now.

Brian Conway

On Thu, Jan 10, 2019 at 12:28 AM Mike Larkin <[email protected]> wrote:
>
> On Wed, Jan 09, 2019 at 11:18:16PM -0600, Brian Conway wrote:
> > After looking through the mailing list archives, I'm seeking advice on
> > running an OpenBSD i386 guest successfully without losing too much
> > time. My host is an 8th-gen Intel NUC (dmesg *2 follows), and both the
> > host and any OpenBSD amd64 guest keep time beautifully using the tsc
> > time source. I've needed to make no changes to sysctl or HZ as
> > compiled in the kernel.
> >
> > When firing up an i386 guest to do some release(8) builds, I have no
> > issues with running those tasks, but the system loses time on the
> > order of 4-5 for every 20, even when sitting idle. It appears that
> > there is no tsc source found on i386, and taking a peak at
> > src/sys/arch/i386/i386 indicates that perhaps this isn't available?
> >
> > What's the preferred method to get such a guest in line? I've included
> > various sysctl, ntpd, and dmesg output below. All systems are running
> > 6.4-stable. Thanks!
> >
> > Brian Conway
> >
> > amd64 host kern.timecounter (amd64 guest is similar):
> > # sysctl kern.timecounter
> > kern.timecounter.tick=1
> > kern.timecounter.timestepwarnings=0
> > kern.timecounter.hardware=tsc
> > kern.timecounter.choice=i8254(0) acpihpet0(1000) tsc(2000)
> > acpitimer0(1000) dummy(-1000000)
> >
> > i386 guest:
> > kern.timecounter.tick=1
> > kern.timecounter.timestepwarnings=0
> > kern.timecounter.hardware=i8254
> > kern.timecounter.choice=i8254(0) dummy(-1000000)
> >
> > i386 guest after 20 minutes of uptime (jitter and delay reflect
> > redirection to a local ntp server):
> > -----
> > $ ntpctl -s all
> > 4/4 peers valid, 1/1 sensors valid, constraint offset 3s (4 errors),
> > clock unsynced, clock offset is 26743.868ms
> >
> > peer
> >    wt tl st  next  poll          offset       delay      jitter
> > 107.181.191.189 from pool us.pool.ntp.org
> >     1 10  3 1945s 3135s      6537.870ms     1.062ms     0.316ms
> > 142.147.92.5 from pool us.pool.ntp.org
> >     1 10  3 1898s 3086s      5915.575ms     0.854ms     0.082ms
> > 216.229.4.69 from pool us.pool.ntp.org
> >     1 10  3 1928s 3115s      5919.290ms     0.887ms     0.110ms
> > 216.6.2.70 from pool us.pool.ntp.org
> >     1 10  3 1825s 3017s      3889.790ms     0.852ms     0.115ms
> >
> > sensor
> >    wt gd st  next  poll          offset  correction
> > vmmci0
> >     1  1  0   10s   15s   1277789.475ms     0.000ms
> > -----
> >
> > i386 guest ntpd logs:
> > -----
> > Jan 10 01:41:46 b64-i386 ntpd[5306]: ntp engine ready
> > Jan 10 01:41:47 b64-i386 ntpd[98096]: set local clock to Thu Jan 10
> > 01:41:47 UTC 2019 (offset 0.647554s)
> > Jan 10 01:41:47 b64-i386 savecore: no core dump
> > Jan 10 01:41:49 b64-i386 ntpd[5306]: constraint reply from
> > 172.217.2.228: offset 2.592767
> > Jan 10 01:42:09 b64-i386 ntpd[5306]: peer 216.229.4.69 now valid
> > Jan 10 01:42:11 b64-i386 ntpd[5306]: peer 216.6.2.70 now valid
> > Jan 10 01:42:12 b64-i386 ntpd[5306]: peer 142.147.92.5 now valid
> > Jan 10 01:42:14 b64-i386 ntpd[5306]: peer 107.181.191.189 now valid
> > Jan 10 01:43:05 b64-i386 ntpd[81307]: adjusting local clock by 33.008869s
> > Jan 10 01:44:06 b64-i386 ntpd[5306]: reply from 216.6.2.70: constraint
> > check failed
> > Jan 10 01:44:08 b64-i386 ntpd[5306]: reply from 107.181.191.189:
> > constraint check failed
> > Jan 10 01:44:10 b64-i386 ntpd[5306]: reply from 142.147.92.5:
> > constraint check failed
> > Jan 10 01:44:11 b64-i386 ntpd[5306]: reply from 216.229.4.69:
> > constraint check failed
> > ...
> > -----
> >
> > amd64 host dmesg:
> > -----
> > OpenBSD 6.4-stable (GENERIC.MP) #3: Mon Jan  7 01:46:29 UTC 2019
> >     
> > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> > real mem = 8452431872 (8060MB)
> > avail mem = 8187002880 (7807MB)
> > mpath0 at root
> > scsibus0 at mpath0: 256 targets
> > mainbus0 at root
> > bios0 at mainbus0: SMBIOS rev. 2.8 @ 0x7a9a4000 (76 entries)
> > bios0: vendor Intel Corp. version "BECFL357.86A.0056.2018.1128.1717"
> > date 11/28/2018
> > bios0: Intel(R) Client Systems NUC8i5BEH
> > acpi0 at bios0: rev 2
> > acpi0: sleep states S0 S3 S4 S5
> > acpi0: tables DSDT FACP APIC FPDT FIDT MCFG SSDT SSDT SSDT HPET SSDT
> > SSDT UEFI LPIT SSDT SSDT DBGP DBG2 SSDT DMAR BGRT WSMT
> > acpi0: wakeup devices SIO1(S3) PXSX(S4) RP01(S4) PXSX(S4) RP02(S4)
> > PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) PXSX(S4) RP05(S4) PXSX(S4)
> > RP06(S4) PXSX(S4) RP07(S4) PXSX(S4) [...]
> > acpitimer0 at acpi0: 3579545 Hz, 24 bits
> > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> > cpu0 at mainbus0: apid 0 (boot processor)
> > cpu0: Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz, 2195.91 MHz, 06-8e-0a
> > cpu0: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
> > cpu0: 256KB 64b/line 8-way L2 cache
> > cpu0: smt 0, core 0, package 0
> > mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> > cpu0: apic clock running at 24MHz
> > cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> > cpu1 at mainbus0: apid 2 (application processor)
> > cpu1: Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz, 2194.93 MHz, 06-8e-0a
> > cpu1: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
> > cpu1: 256KB 64b/line 8-way L2 cache
> > cpu1: smt 0, core 1, package 0
> > cpu2 at mainbus0: apid 4 (application processor)
> > cpu2: Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz, 2194.93 MHz, 06-8e-0a
> > cpu2: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
> > cpu2: 256KB 64b/line 8-way L2 cache
> > cpu2: smt 0, core 2, package 0
> > cpu3 at mainbus0: apid 6 (application processor)
> > cpu3: Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz, 2194.93 MHz, 06-8e-0a
> > cpu3: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
> > cpu3: 256KB 64b/line 8-way L2 cache
> > cpu3: smt 0, core 3, package 0
> > ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins
> > acpimcfg0 at acpi0
> > acpimcfg0: addr 0xe0000000, bus 0-255
> > acpihpet0 at acpi0: 23999999 Hz
> > acpiprt0 at acpi0: bus 0 (PCI0)
> > acpiprt1 at acpi0: bus -1 (PEG0)
> > acpiprt2 at acpi0: bus -1 (PEG1)
> > acpiprt3 at acpi0: bus -1 (PEG2)
> > acpiprt4 at acpi0: bus -1 (RP01)
> > acpiprt5 at acpi0: bus -1 (RP02)
> > acpiprt6 at acpi0: bus -1 (RP03)
> > acpiprt7 at acpi0: bus -1 (RP04)
> > acpiprt8 at acpi0: bus -1 (RP05)
> > acpiprt9 at acpi0: bus -1 (RP06)
> > acpiprt10 at acpi0: bus -1 (RP07)
> > acpiprt11 at acpi0: bus -1 (RP08)
> > acpiprt12 at acpi0: bus -1 (RP09)
> > acpiprt13 at acpi0: bus -1 (RP10)
> > acpiprt14 at acpi0: bus -1 (RP11)
> > acpiprt15 at acpi0: bus -1 (RP12)
> > acpiprt16 at acpi0: bus -1 (RP13)
> > acpiprt17 at acpi0: bus -1 (RP14)
> > acpiprt18 at acpi0: bus -1 (RP15)
> > acpiprt19 at acpi0: bus -1 (RP16)
> > acpiprt20 at acpi0: bus -1 (RP17)
> > acpiprt21 at acpi0: bus -1 (RP18)
> > acpiprt22 at acpi0: bus -1 (RP19)
> > acpiprt23 at acpi0: bus -1 (RP20)
> > acpiprt24 at acpi0: bus -1 (RP21)
> > acpiprt25 at acpi0: bus -1 (RP22)
> > acpiprt26 at acpi0: bus -1 (RP23)
> > acpiprt27 at acpi0: bus -1 (RP24)
> > acpiec0 at acpi0
> > acpitz0 at acpi0acpitz0: TZ0_: failed to read _HOT
> > acpitz0: TZ0_: failed to read _TMP
> > acpitz0: TZ0_: failed to read _TMP
> > acpipwrres0 at acpi0: USBC, resource for XDCI
> > acpipwrres1 at acpi0: V0PR
> > acpipwrres2 at acpi0: V1PR
> > acpipwrres3 at acpi0: V2PR
> > acpipwrres4 at acpi0: WRST
> > acpicpu0 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151
> > mwait.1@0x33), C1(1000@1 mwait.1), PSS
> > acpicpu1 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151
> > mwait.1@0x33), C1(1000@1 mwait.1), PSS
> > acpicpu2 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151
> > mwait.1@0x33), C1(1000@1 mwait.1), PSS
> > acpicpu3 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151
> > mwait.1@0x33), C1(1000@1 mwait.1), PSS
> > acpipwrres5 at acpi0: FN00, resource for FAN0
> > acpipwrres6 at acpi0: FN01, resource for FAN1
> > acpipwrres7 at acpi0: FN02, resource for FAN2
> > acpipwrres8 at acpi0: FN03, resource for FAN3
> > acpipwrres9 at acpi0: FN04, resource for FAN4
> > acpitz1 at acpi0: critical temperature is 119 degC
> > acpipwrres10 at acpi0: PIN_
> > acpicmos0 at acpi0
> > "INT34BB" at acpi0 not configured
> > "PNP0C14" at acpi0 not configured
> > acpibtn0 at acpi0: SLPB
> > "PNP0C14" at acpi0 not configured
> > "PNP0C14" at acpi0 not configured
> > "INT33A1" at acpi0 not configured
> > acpibtn1 at acpi0: PWRB
> > "PNP0C0B" at acpi0 not configured
> > "PNP0C0B" at acpi0 not configured
> > "PNP0C0B" at acpi0 not configured
> > "PNP0C0B" at acpi0 not configured
> > "PNP0C0B" at acpi0 not configured
> > "PNP0C14" at acpi0 not configured
> > acpivideo0 at acpi0: GFX0
> > acpivout0 at acpivideo0: DD1F
> > cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2301, 2300, 2200, 2000,
> > 1900, 1800, 1600, 1500, 1300, 1100, 1000, 900, 800, 700, 500, 400 MHz
> > pci0 at mainbus0 bus 0
> > 0:31:5: mem address conflict 0xfe010000/0x1000
> > pchb0 at pci0 dev 0 function 0 vendor "Intel", unknown product 0x3ed0 rev 
> > 0x08
> > vendor "Intel", unknown product 0x3ea5 (class display subclass VGA,
> > rev 0x01) at pci0 dev 2 function 0 not configured
> > "Intel Core GMM" rev 0x00 at pci0 dev 8 function 0 not configured
> > vendor "Intel", unknown product 0x9df9 (class DASP subclass
> > miscellaneous, rev 0x30) at pci0 dev 18 function 0 not configured
> > xhci0 at pci0 dev 20 function 0 vendor "Intel", unknown product 0x9ded
> > rev 0x30: msi, xHCI 1.16
> > usb0 at xhci0: USB revision 3.0
> > uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev
> > 3.00/1.00 addr 1
> > vendor "Intel", unknown product 0x9def (class memory subclass RAM, rev
> > 0x30) at pci0 dev 20 function 2 not configured
> > vendor "Intel", unknown product 0x9df0 (class network subclass
> > miscellaneous, rev 0x30) at pci0 dev 20 function 3 not configured
> > vendor "Intel", unknown product 0x9de0 (class communications subclass
> > miscellaneous, rev 0x30) at pci0 dev 22 function 0 not configured
> > ahci0 at pci0 dev 23 function 0 vendor "Intel", unknown product 0x9dd3
> > rev 0x30: msi, AHCI 1.3.1
> > ahci0: port 2: 6.0Gb/s
> > scsibus1 at ahci0: 32 targets
> > sd0 at scsibus1 targ 2 lun 0: <ATA, Crucial_CT240M50, MU05> SCSI3
> > 0/direct fixed naa.500a07510c06ed9d
> > sd0: 228936MB, 512 bytes/sector, 468862128 sectors, thin
> > pcib0 at pci0 dev 31 function 0 vendor "Intel", unknown product 0x9d84 rev 
> > 0x30
> > vendor "Intel", unknown product 0x9da3 (class serial bus subclass
> > SMBus, rev 0x30) at pci0 dev 31 function 4 not configured
> > vendor "Intel", unknown product 0x9da4 (class serial bus unknown
> > subclass 0x80, rev 0x30) at pci0 dev 31 function 5 not configured
> > em0 at pci0 dev 31 function 6 "Intel I219-V" rev 0x30: msi, address
> > 94:c6:91:a8:54:23
> > isa0 at pcib0
> > isadma0 at isa0
> > com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> > com0: probed fifo depth: 0 bytes
> > pcppi0 at isa0 port 0x61
> > spkr0 at pcppi0
> > vmm0 at mainbus0: VMX/EPT
> > efifb0 at mainbus0: 1680x1050, 32bpp
> > wsdisplay0 at efifb0 mux 1: console (std, vt100 emulation)
> > wsdisplay0: screen 1-5 added (std, vt100 emulation)
> > vscsi0 at root
> > scsibus2 at vscsi0: 256 targets
> > softraid0 at root
> > scsibus3 at softraid0: 256 targets
> > root on sd0a (207110c0facab1e3.a) swap on sd0b dump on sd0b
> > -----
> >
> > i386 guest dmesg:
> > -----
> > OpenBSD 6.4-stable (GENERIC) #1: Tue Jan  8 07:37:53 UTC 2019
> >     
> > [email protected]:/usr/src/sys/arch/i386/compile/GENERIC
> > real mem  = 1073225728 (1023MB)
> > avail mem = 1038622720 (990MB)
> > mpath0 at root
> > scsibus0 at mpath0: 256 targets
> > mainbus0 at root
> > bios0 at mainbus0: date 06/23/99, BIOS32 rev. 0 @ 0xfdc65, SMBIOS rev.
> > 2.4 @ 0xf1950 (10 entries)
> > bios0: vendor SeaBIOS version "1.11.0p0-OpenBSD-vmm" date 01/01/2011
> > bios0: OpenBSD VMM
> > acpi at bios0 function 0x0 not configured
> > pcibios at bios0 function 0x1a not configured
> > bios0: ROM list: 0xef000/0x1000!
> > cpu0 at mainbus0: (uniprocessor)
> > cpu0: Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz ("GenuineIntel"
> > 686-class) 2.31 GHz, 06-8e-0a
> > cpu0: 
> > FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,LONG,LAHF,ABM,3DNOWP,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,RDSEED,ADX,SMAP,CLFLUSHOPT,MELTDOWN
> > pvbus0 at mainbus0: OpenBSD
> > pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
> > pchb0 at pci0 dev 0 function 0 "OpenBSD VMM Host" rev 0x00
> > virtio0 at pci0 dev 1 function 0 "Qumranet Virtio RNG" rev 0x00
> > viornd0 at virtio0
> > virtio0: irq 3
> > virtio1 at pci0 dev 2 function 0 "Qumranet Virtio Storage" rev 0x00
> > vioblk0 at virtio1
> > scsibus1 at vioblk0: 2 targets
> > sd0 at scsibus1 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
> > sd0: 15360MB, 512 bytes/sector, 31457280 sectors
> > virtio1: irq 5
> > virtio2 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00
> > vio0 at virtio2: address fe:e1:bb:d1:15:e5
> > virtio2: irq 6
> > virtio3 at pci0 dev 4 function 0 "OpenBSD VMM Control" rev 0x00
> > vmmci0 at virtio3
> > virtio3: irq 7
> > isa0 at mainbus0
> > isadma0 at isa0
> > com0 at isa0 port 0x3f8/8 irq 4: ns16450, no fifo
> > com0: console
> > pcdisplay0 at isa0 port 0x3d0/16 iomem 0xb8000/32768
> > wsdisplay0 at pcdisplay0 mux 1: console (80x25, vt100 emulation)
> > npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
> > vscsi0 at root
> > scsibus2 at vscsi0: 256 targets
> > softraid0 at root
> > scsibus3 at softraid0: 256 targets
> > root on sd0a (f5af63032b1e4a54.a) swap on sd0b dump on sd0b
> > -----
> >
>
> i386 is really bad since it doesn't have TSC.
>
> Eventually I got tired of trying to make that work and just put this in
> root's crontab on the VM:
>
> 1,15,30,45      *       *       *       *       /usr/sbin/rdate pool.ntp.org 
> > /dev/null
>
> plus run ntpd to keep things in sync as best as it can be during the 15 minute
> intervals there. It's not particularly secure, but my only i386 VMs are just 
> for
> testing builds and kernels.
>
> I doubt i386 will get better until someone implements an HPET in vmd.
>
> -ml

Reply via email to