Hyper-V 6.2 amd install - timeout interval 1/2 prescribed interval

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Hyper-V 6.2 amd install - timeout interval 1/2 prescribed interval

Megan
We have recently installed OpenBSD 6.2 onto the latest version of
Microsoft's Hyper-V.  It is all running smoothly with the exception of
one aspect, namely timeouts - the latter are expiring in 1/2 their
prescribed interval.  The following script shows the issue:

# while 1
? sleep 1
? date
? end
Wed Feb 14 10:19:23 NZDT 2018
Wed Feb 14 10:19:24 NZDT 2018
Wed Feb 14 10:19:25 NZDT 2018
Wed Feb 14 10:19:25 NZDT 2018
Wed Feb 14 10:19:26 NZDT 2018
Wed Feb 14 10:19:26 NZDT 2018
Wed Feb 14 10:19:27 NZDT 2018
Wed Feb 14 10:19:28 NZDT 2018

The issue is also apparent with commands such as "vmstat 1" - this
returns two reports per second as opposed to one.

We will investigate further next week with getitimer(2).   A bug report
is filed now however as various searches have failed to identify others
with the same issue suggesting this late version of Hyper-V may be the
underlying trigger.

Detail pertinent to the issue:

(a) OpenBSD dmesg (amd64 6.2):
OpenBSD 6.2 (GENERIC.MP) #134: Tue Oct  3 21:22:29 MDT 2017
[hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 4278124544 (4079MB)
avail mem = 4141449216 (3949MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf8ec0 (216 entries)
bios0: vendor American Megatrends Inc. version "090006" date 04/28/2016
bios0: Microsoft Corporation Virtual Machine
acpi0 at bios0: rev 0
acpi0: sleep states S0 S5
acpi0: tables DSDT FACP WAET SLIC OEM0 SRAT APIC OEMB
acpi0: wakeup devices
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpihve0 at acpi0
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz, 1709.96 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,RTM,MPX,AVX512F,AVX512DQ,RDSEED,ADX,SMAP,CLFLUSHOPT,AVX512CD,AVX512BW,AVX512VL

cpu0: 256KB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 114MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz, 1253.22 MHz
cpu1:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,RTM,MPX,AVX512F,AVX512DQ,RDSEED,ADX,SMAP,CLFLUSHOPT,AVX512CD,AVX512BW,AVX512VL

cpu1: 256KB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
, remapped to apid 0
acpiprt0 at acpi0: bus 0 (PCI0)
acpicpu0 at acpi0: C1(@1 halt!)
acpicpu1 at acpi0: C1(@1 halt!)
"PNP0F03" at acpi0 not configured
"PNP0700" at acpi0 not configured
"VMBus" at acpi0 not configured
"Hyper_V_Gen_Counter_V1" at acpi0 not configured
pvbus0 at mainbus0: Hyper-V 10.0
hyperv0 at pvbus0: protocol 3.0, features 0x2e7f
hyperv0: heartbeat, kvp, shutdown, timesync
hvs0 at hyperv0 channel 2: ide, protocol 6.2
scsibus1 at hvs0: 2 targets
sd0 at scsibus1 targ 0 lun 0: <Msft, Virtual Disk, 1.0> SCSI3 0/direct
fixed naa.60022480d06a442ed63ddfc772b7efe4
sd0: 1024MB, 512 bytes/sector, 2097152 sectors, thin
hvn0 at hyperv0 channel 14: NVS 5.0 NDIS 6.30, address 00:15:5d:53:2a:18
hvs1 at hyperv0 channel 15: scsi, protocol 6.2
scsibus2 at hvs1: 2 targets
sd1 at scsibus2 targ 0 lun 0: <Msft, Virtual Disk, 1.0> SCSI3 0/direct
fixed naa.600224805fb780b116ca1e1edad6094c
sd1: 61440MB, 512 bytes/sector, 125829120 sectors, thin
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel 82443BX" rev 0x03
pcib0 at pci0 dev 7 function 0 "Intel 82371AB PIIX4 ISA" rev 0x01
pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA,
channel 0 wired to compatibility, channel 1 wired to compatibility
pciide0: channel 0 disabled (no drives)
atapiscsi0 at pciide0 channel 1 drive 0
scsibus3 at atapiscsi0: 2 targets
cd0 at scsibus3 targ 0 lun 0: <Msft, Virtual CD/ROM, 1.0> ATAPI 5/cdrom
removable
cd0(pciide0:1:0): using PIO mode 4, DMA mode 2
piixpm0 at pci0 dev 7 function 3 "Intel 82371AB Power" rev 0x02: SMBus
disabled
vga1 at pci0 dev 8 function 0 "Microsoft VGA" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
isa0 at pcib0
isadma0 at isa0
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vscsi0 at root
scsibus4 at vscsi0: 256 targets
softraid0 at root
scsibus5 at softraid0: 256 targets
root on sd0a (b563e0fe1e12d3c0.a) swap on sd0b dump on sd0b
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
fd1 at fdc0 drive 1: density unknown
acpi0: PM1 stuck (en 0x101 st 0x1), clearing

(b) Microsoft Hyper-V  -
This is running on Microsoft Windows Server 2016 Hyper-V.
Microsoft Windows Server 2016
Version 1607 (OS Build 14393.693)

(c) The ntpd config (not that is should be relevant).
/etc/ntpd.conf
# $OpenBSD: ntpd.conf,v 1.14 2015/07/15 20:28:37 ajacoutot Exp $
#
# See ntpd.conf(5) and /etc/examples/ntpd.conf

#servers pool.ntp.org
#sensor *
sensor hyperv0
constraints from "https://www.google.com"



Reply | Threaded
Open this post in threaded view
|

Re: Hyper-V 6.2 amd install - timeout interval 1/2 prescribed interval

Mike Larkin
On Wed, Feb 14, 2018 at 11:01:00AM +1300, Megan wrote:

> We have recently installed OpenBSD 6.2 onto the latest version of
> Microsoft's Hyper-V.  It is all running smoothly with the exception of one
> aspect, namely timeouts - the latter are expiring in 1/2 their prescribed
> interval.  The following script shows the issue:
>
> # while 1
> ? sleep 1
> ? date
> ? end
> Wed Feb 14 10:19:23 NZDT 2018
> Wed Feb 14 10:19:24 NZDT 2018
> Wed Feb 14 10:19:25 NZDT 2018
> Wed Feb 14 10:19:25 NZDT 2018
> Wed Feb 14 10:19:26 NZDT 2018
> Wed Feb 14 10:19:26 NZDT 2018
> Wed Feb 14 10:19:27 NZDT 2018
> Wed Feb 14 10:19:28 NZDT 2018
>
> The issue is also apparent with commands such as "vmstat 1" - this returns
> two reports per second as opposed to one.

Interesting that people have reported exactly the opposite with kvm/qemu
(timeouts taking twice as long).

I'll check a few Hyper-V servers and see what I come up with and report back.

-ml

>
> We will investigate further next week with getitimer(2).   A bug report is
> filed now however as various searches have failed to identify others with
> the same issue suggesting this late version of Hyper-V may be the underlying
> trigger.
>
> Detail pertinent to the issue:
>
> (a) OpenBSD dmesg (amd64 6.2):
> OpenBSD 6.2 (GENERIC.MP) #134: Tue Oct  3 21:22:29 MDT 2017
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 4278124544 (4079MB)
> avail mem = 4141449216 (3949MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf8ec0 (216 entries)
> bios0: vendor American Megatrends Inc. version "090006" date 04/28/2016
> bios0: Microsoft Corporation Virtual Machine
> acpi0 at bios0: rev 0
> acpi0: sleep states S0 S5
> acpi0: tables DSDT FACP WAET SLIC OEM0 SRAT APIC OEMB
> acpi0: wakeup devices
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpihve0 at acpi0
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz, 1709.96 MHz
> cpu0:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,RTM,MPX,AVX512F,AVX512DQ,RDSEED,ADX,SMAP,CLFLUSHOPT,AVX512CD,AVX512BW,AVX512VL
>
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 114MHz
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz, 1253.22 MHz
> cpu1:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,RTM,MPX,AVX512F,AVX512DQ,RDSEED,ADX,SMAP,CLFLUSHOPT,AVX512CD,AVX512BW,AVX512VL
>
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 0, core 1, package 0
> ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
> , remapped to apid 0
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpicpu0 at acpi0: C1(@1 halt!)
> acpicpu1 at acpi0: C1(@1 halt!)
> "PNP0F03" at acpi0 not configured
> "PNP0700" at acpi0 not configured
> "VMBus" at acpi0 not configured
> "Hyper_V_Gen_Counter_V1" at acpi0 not configured
> pvbus0 at mainbus0: Hyper-V 10.0
> hyperv0 at pvbus0: protocol 3.0, features 0x2e7f
> hyperv0: heartbeat, kvp, shutdown, timesync
> hvs0 at hyperv0 channel 2: ide, protocol 6.2
> scsibus1 at hvs0: 2 targets
> sd0 at scsibus1 targ 0 lun 0: <Msft, Virtual Disk, 1.0> SCSI3 0/direct
> fixed naa.60022480d06a442ed63ddfc772b7efe4
> sd0: 1024MB, 512 bytes/sector, 2097152 sectors, thin
> hvn0 at hyperv0 channel 14: NVS 5.0 NDIS 6.30, address 00:15:5d:53:2a:18
> hvs1 at hyperv0 channel 15: scsi, protocol 6.2
> scsibus2 at hvs1: 2 targets
> sd1 at scsibus2 targ 0 lun 0: <Msft, Virtual Disk, 1.0> SCSI3 0/direct
> fixed naa.600224805fb780b116ca1e1edad6094c
> sd1: 61440MB, 512 bytes/sector, 125829120 sectors, thin
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel 82443BX" rev 0x03
> pcib0 at pci0 dev 7 function 0 "Intel 82371AB PIIX4 ISA" rev 0x01
> pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA,
> channel 0 wired to compatibility, channel 1 wired to compatibility
> pciide0: channel 0 disabled (no drives)
> atapiscsi0 at pciide0 channel 1 drive 0
> scsibus3 at atapiscsi0: 2 targets
> cd0 at scsibus3 targ 0 lun 0: <Msft, Virtual CD/ROM, 1.0> ATAPI 5/cdrom
> removable
> cd0(pciide0:1:0): using PIO mode 4, DMA mode 2
> piixpm0 at pci0 dev 7 function 3 "Intel 82371AB Power" rev 0x02: SMBus
> disabled
> vga1 at pci0 dev 8 function 0 "Microsoft VGA" rev 0x00
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> isa0 at pcib0
> isadma0 at isa0
> fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot)
> wsmouse0 at pms0 mux 0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vscsi0 at root
> scsibus4 at vscsi0: 256 targets
> softraid0 at root
> scsibus5 at softraid0: 256 targets
> root on sd0a (b563e0fe1e12d3c0.a) swap on sd0b dump on sd0b
> fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
> fd1 at fdc0 drive 1: density unknown
> acpi0: PM1 stuck (en 0x101 st 0x1), clearing
>
> (b) Microsoft Hyper-V  -
> This is running on Microsoft Windows Server 2016 Hyper-V.
> Microsoft Windows Server 2016
> Version 1607 (OS Build 14393.693)
>
> (c) The ntpd config (not that is should be relevant).
> /etc/ntpd.conf
> # $OpenBSD: ntpd.conf,v 1.14 2015/07/15 20:28:37 ajacoutot Exp $
> #
> # See ntpd.conf(5) and /etc/examples/ntpd.conf
>
> #servers pool.ntp.org
> #sensor *
> sensor hyperv0
> constraints from "https://www.google.com"
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Hyper-V 6.2 amd install - timeout interval 1/2 prescribed interval

Mark Kettenis
> Date: Tue, 13 Feb 2018 15:30:39 -0800
> From: Mike Larkin <[hidden email]>
>
> On Wed, Feb 14, 2018 at 11:01:00AM +1300, Megan wrote:
> > We have recently installed OpenBSD 6.2 onto the latest version of
> > Microsoft's Hyper-V.  It is all running smoothly with the exception of one
> > aspect, namely timeouts - the latter are expiring in 1/2 their prescribed
> > interval.  The following script shows the issue:
> >
> > # while 1
> > ? sleep 1
> > ? date
> > ? end
> > Wed Feb 14 10:19:23 NZDT 2018
> > Wed Feb 14 10:19:24 NZDT 2018
> > Wed Feb 14 10:19:25 NZDT 2018
> > Wed Feb 14 10:19:25 NZDT 2018
> > Wed Feb 14 10:19:26 NZDT 2018
> > Wed Feb 14 10:19:26 NZDT 2018
> > Wed Feb 14 10:19:27 NZDT 2018
> > Wed Feb 14 10:19:28 NZDT 2018
> >
> > The issue is also apparent with commands such as "vmstat 1" - this returns
> > two reports per second as opposed to one.
>
> Interesting that people have reported exactly the opposite with kvm/qemu
> (timeouts taking twice as long).
>
> I'll check a few Hyper-V servers and see what I come up with and report back.

Well, this one is probably related to:

> cpu0: Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz, 1709.96 MHz

and/or:

> cpu0: apic clock running at 114MHz

which almost certainly means the calibration of the timecounter is wrong.

  sysctl kern.timecounter.choice=acpitimer0

might improve things.