Re: vmd virtual machines are dying on 6.2

2018-03-13 Thread Mike Larkin
On Tue, Mar 13, 2018 at 08:23:40AM +0100, Piotr Isajew wrote:
> On Sun, Mar 11, 2018 at 04:49:28PM -0700, Mike Larkin wrote:
> 
> > Can you build with VMM_DEBUG and see what the final error is,
> > please?
> > 
> > I bet it is something we already know about.
> 
> Of course:
> 
> vm_impl_init_vmx: created vm_map @ 0x80c3e200
> vm_resetcpu: resetting vm 1 vcpu 0 to power on defaults
> guest eptp = 0x4114f701e
> vmm_alloc_vpid: allocated VPID/ASID 1

... snip ...

> vmx_handle_rdmsr: rdmsr exit, msr=0x639, data returned to guest=0x0:0x0
> vmx_handle_rdmsr: rdmsr exit, msr=0x641, data returned to guest=0x0:0x0
> vmx_handle_rdmsr: rdmsr exit, msr=0x619, data returned to guest=0x0:0x0
> vmx_handle_rdmsr: rdmsr exit, msr=0x179, data returned to guest=0x0:0x0
> vmx_handle_rdmsr: rdmsr exit, msr=0x17a, data returned to guest=0x0:0x0
> vmx_handle_exit: unhandled exit 49 (EPT misconfiguration)
> vmm_free_vpid: freed VPID/ASID 1
> 

Yep, it's what I thought. I have a halfway working fix for this, but for now,
the best advice I can give is to try to reduce the memory in the VM a bit
until I have a chance to commit the fix. I've noticed I hit these more often
when the host goes into swap but some people have reported it happens even
without that occurring. My new skylake machine hits these a lot, which is
somewhat of a incentive for me to fix it :)

-ml



Re: vmd virtual machines are dying on 6.2

2018-03-11 Thread Mike Larkin
On Sun, Mar 11, 2018 at 11:31:03AM +0100, Piotr Isajew wrote:
> Hi,
> 
> I've setup a Debian VM with a goal to have a dedicated compile
> environment for a project which is highly Linux-dependent. The
> machine configuration is currently as follows:
> 
> vm debian {
>  disk /home/pki/virtuals/ubuntu/ubuntu-virt.img
>  disk /home/pki/virtuals/ubuntu/debian_core.img
>  disable
>  local interface
>  memory 12G
>  owner pki
> }
> 
> This mostly runs without problems, but I have noticed that after
> some time (likely after intensive IO/CPU operations) the VM
> just silently dies (i.e. vmctl status doesn't list the machine
> anymore)
> 
> This is what's logged prior to the situation in question:
> 
> Mar  9 20:47:18 smaug vmd[62413]: debian: started vm 1 successfully, tty 
> /dev/ttyp6
> Mar  9 20:47:23 smaug vmd[18398]: vcpu_process_com_data: guest reading com1 
> when not ready
> Mar  9 20:47:29 smaug vmd[18398]: vioblk_notifyq: unsupported command 0x8
> Mar  9 20:47:37 smaug last message repeated 13 times
> Mar  9 20:48:10 smaug vmd[18398]: vcpu_process_com_data: guest reading com1 
> when not ready
> Mar  9 20:48:10 smaug last message repeated 13 times
> Mar  9 20:48:15 smaug vmd[18398]: rtc_update_rega: set non-32KHz timebase not 
> supported
> Mar  9 21:54:52 smaug vmd[18398]: vcpu_run_loop: vm 1 / vcpu 0 run ioctl 
> failed: Invalid argument
> 
> and here is the dmesg of the host system:
> 

Can you build with VMM_DEBUG and see what the final error is, please?

I bet it is something we already know about. You might be able to postpone that
by dumping the memory down a bit (from 12G), if it's what I think it is.

-ml


> OpenBSD 6.2 (GENERIC.MP) #6: Wed Feb 28 21:13:02 CET 2018
> 
> r...@syspatch-62-amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 17038782464 (16249MB)
> avail mem = 16515321856 (15750MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xf21f0 (81 entries)
> bios0: vendor Dell Inc. version "A11" date 04/02/2012
> bios0: Dell Inc. Precision T1600
> acpi0 at bios0: rev 2
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP APIC TCPA SSDT MCFG HPET BOOT SSDT SSDT DMAR
> acpi0: wakeup devices EHC1(S3) EHC2(S3) HDEF(S4) GLAN(S4) PXSX(S4) RP01(S4) 
> PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) PXSX(S4) RP05(S4) 
> PXSX(S4) RP06(S4) [...]
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Xeon(R) CPU E31225 @ 3.10GHz, 3093.49 MHz
> 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT,MELTDOWN
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: TSC frequency 3093492680 Hz
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.1, IBE
> cpu1 at mainbus0: apid 2 (application processor)
> cpu1: Intel(R) Xeon(R) CPU E31225 @ 3.10GHz, 3092.98 MHz
> 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT,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) Xeon(R) CPU E31225 @ 3.10GHz, 3092.98 MHz
> 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT,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) Xeon(R) CPU E31225 @ 3.10GHz, 3092.98 MHz
> 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT,MELTDOWN
> cpu3: 256KB 64b/line 8-way L2 cache
> cpu3: smt 0, core 3, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec0, version 20, 24 pins
> acpimcfg0 at acpi0 addr 0xf800, bus 0-63
> acpihpet0 at acpi0: 14318179 Hz
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus 2 (RP01)
> acpiprt2 at acpi0: bus -1 (RP02)
> acpiprt3 at acpi0: bus 3 (RP03)
> acpiprt4 at acpi0: bus -1 (RP04)
> acpiprt5 at acpi0: bus -1 (RP05)
> acpiprt6 at acpi0: