Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751974AbdHGRTL (ORCPT ); Mon, 7 Aug 2017 13:19:11 -0400 Received: from mout.web.de ([212.227.15.14]:58637 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751683AbdHGRTJ (ORCPT ); Mon, 7 Aug 2017 13:19:09 -0400 Subject: Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 To: Paolo Bonzini , rkrcmar@redhat.com, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org References: <27ee7b1f-0390-fca2-4b9c-cfea715328e9@web.de> <596b1df7-7fec-4acf-f19a-67ed4e1ba150@redhat.com> From: Sebastian Rachuj Message-ID: Date: Mon, 7 Aug 2017 19:17:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <596b1df7-7fec-4acf-f19a-67ed4e1ba150@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:TxEPbz5u3AtY+3nDgURYvq9ZWTT55ZLmBH8ymicvK1vgEhBmtb9 HAFfcMyZWA6w0yaXe71FfqapKpCJ9r/zfxISsNrYEnvZb49VXTe91zuwWGrxd1cpFhjPt6+ wJhYKuvaM2dHg8h/ldOxqTkjnwjYO6oXmjhl3dXf0JMIq574eE8IC/ooPexqN5UTqF1OJhw sHD8/3rQCRyaR0oflQWBA== X-UI-Out-Filterresults: notjunk:1;V01:K0:9hVRr3CHTRs=:1XN38I9JjU2e9MpBMX6nUm A+0rC0griEJkZ6WTj5ToFoHg1XSYE1bX58ReYOTmIv9s+/L33QKViCavB1ruMpi5WYG6KasXQ P7CsMIYQFOFdU23rsw++OVzYOiyvw/rRO6eAbPAU4E/s0/UQdulDTc+clCbbdjMHy1wrCpvLU rGfs4l77FkrVrN+uSjJ6sZrrNhGydblntQ686F2OPHBSjxCNN0r6GIgCYYOighhmUFLLBkCGt BeWDHottVWCb2+Q8mosJa/5ibePR8Xe6l1Cx6GL9GXIyUCQRq98p4uyHjpRp9vg3wM6eMsvb2 1pp09vVvqjZ4Fin1OGNOG+Fd8HwyrxVyJtn9LB9tiy2Ns8jaG6hk/4hD+gyWbSwXgRRrED2Jl Gh0wFNZR7JfgmR8aAlHZhLH8tiqKYdLL50Kxgu+JV+liSjc/x/VGnx9QoSC0kbLsn0AinIJS1 Rv/whPMyCJHmlgR+dGCjnVVnh+D4uU+bHacq9t/EOhq8+OP8zGqeyz1W8a/4t6eBmhl+9nBUj FUPhD7Z3lYoZGTJaKUvuoscJc0qsEgSGAb6c3+LvlScp3GYEg8vaJLHigm1HBymPvWLwCIWXM 2RWH4nMLngml2aJvgCJ0n/Zvabs52A8RBKrhBaUwswG3czWpGfc+ijL1/eB+jvP3SCHvBLD2l /nhLztOD85GdoURgd5Drlz6t0jSkNUupcKMGZH6RnTMyWsat/H3ubYhroGlMFVdrcbvriezrV f2t55ZWaHLtWAqR7MaVQ4YWbVoB3sIHcVohKZ/B1WHjhiNQuAOfqQSJjOlQnifWEkGtE6qVAi ji94+t9RG3X6xfHzjzatcZzkm0Itf5HAm7NTX2K+YBNX+a/38c= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6256 Lines: 142 On 07.08.2017 11:43, Paolo Bonzini wrote: > On 06/08/2017 23:23, Sebastian Rachuj wrote: >> On 06.08.2017 23:10, Paolo Bonzini wrote: >>> On 05/08/2017 21:26, Sebastian Rachuj wrote: >>>> Dear linux developers, >>>> >>>> since my upgrade from linux 4.11 to linux 4.12 the "kvm_intel" module >>>> does not load correctly anymore. "Modprobing" the kernel module gives an >>>> Input/Output error. It seems to be related to the CPU architecture and >>>> (to my knowledge) affects Conroe CPUs. I did a bisect and found the >>>> following commit as the guilty one: >>> >>> What is your cpuinfo? I tested on a Conroe Xeon X3220 (family 6, >>> model 15, stepping 11) when I posted that patch, and it did have virtual >>> NMIs. >> >> Thank you for looking into the issue. My cpuinfo is as follows: > > Looks like Intel was already differentiating virtualization features > across SKUs. Please run the attached script as root to see what other > things are different (apparently) between non-Xeon and Xeon Conroes. Here you are, I hope it helps: # python vmxcap Basic VMX Information Hex: 0x1a040000000007 Revision 7 VMCS size 1024 VMCS restricted to 32 bit addresses no Dual-monitor support yes VMCS memory type 6 INS/OUTS instruction information no IA32_VMX_TRUE_*_CTLS support no pin-based controls External interrupt exiting yes NMI exiting yes Virtual NMIs no Activate VMX-preemption timer no Process posted interrupts no primary processor-based controls Interrupt window exiting yes Use TSC offsetting yes HLT exiting yes INVLPG exiting yes MWAIT exiting yes RDPMC exiting yes RDTSC exiting yes CR3-load exiting forced CR3-store exiting forced CR8-load exiting yes CR8-store exiting yes Use TPR shadow yes NMI-window exiting no MOV-DR exiting yes Unconditional I/O exiting yes Use I/O bitmaps yes Monitor trap flag no Use MSR bitmaps yes MONITOR exiting yes PAUSE exiting yes Activate secondary control no secondary processor-based controls Virtualize APIC accesses no Enable EPT no Descriptor-table exiting no Enable RDTSCP no Virtualize x2APIC mode no Enable VPID no WBINVD exiting no Unrestricted guest no APIC register emulation no Virtual interrupt delivery no PAUSE-loop exiting no RDRAND exiting no Enable INVPCID no Enable VM functions no VMCS shadowing no Enable ENCLS exiting no RDSEED exiting no Enable PML no EPT-violation #VE no Conceal non-root operation from PT no Enable XSAVES/XRSTORS no Mode-based execute control (XS/XU) no TSC scaling no VM-Exit controls Save debug controls forced Host address-space size yes Load IA32_PERF_GLOBAL_CTRL no Acknowledge interrupt on exit yes Save IA32_PAT no Load IA32_PAT no Save IA32_EFER no Load IA32_EFER no Save VMX-preemption timer value no Clear IA32_BNDCFGS no Conceal VM exits from PT no VM-Entry controls Load debug controls forced IA-32e mode guest yes Entry to SMM yes Deactivate dual-monitor treatment yes Load IA32_PERF_GLOBAL_CTRL no Load IA32_PAT no Load IA32_EFER no Load IA32_BNDCFGS no Conceal VM entries from PT no Miscellaneous data Hex: 0x403c0 VMX-preemption timer scale (log2) 0 Store EFER.LMA into IA-32e mode guest control no HLT activity state yes Shutdown activity state yes Wait-for-SIPI activity state yes IA32_SMBASE support no Number of CR3-target values 4 MSR-load/store count recommendation 0 IA32_SMM_MONITOR_CTL[2] can be set to 1 no VMWRITE to VM-exit information fields no Inject event with insn length=0 no MSEG revision identifier 0 VPID and EPT capabilities Hex: 0x0 Execute-only EPT translations no Page-walk length 4 no Paging-structure memory type UC no Paging-structure memory type WB no 2MB EPT pages no 1GB EPT pages no INVEPT supported no EPT accessed and dirty flags no Single-context INVEPT no All-context INVEPT no INVVPID supported no Individual-address INVVPID no Single-context INVVPID no All-context INVVPID no Single-context-retaining-globals INVVPID no VM Functions Hex: 0x0 EPTP Switching no