Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1704697 > unrolled thread
| Started by | "Sebastian Rachuj" <Rachus@web.de> |
|---|---|
| First post | 2017-08-05 21:30 +0200 |
| Last post | 2017-08-08 23:50 +0200 |
| Articles | 9 — 5 participants |
Back to article view | Back to linux.kernel
kvm_intel fails to load on Conroe CPUs running Linux 4.12 "Sebastian Rachuj" <Rachus@web.de> - 2017-08-05 21:30 +0200
Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 Paolo Bonzini <pbonzini@redhat.com> - 2017-08-06 23:20 +0200
Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 Sebastian Rachuj <rachus@web.de> - 2017-08-06 23:30 +0200
Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 Paolo Bonzini <pbonzini@redhat.com> - 2017-08-07 11:50 +0200
Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 Nadav Amit <nadav.amit@gmail.com> - 2017-08-07 19:20 +0200
Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 Sebastian Rachuj <rachus@web.de> - 2017-08-07 19:20 +0200
Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 Paolo Bonzini <pbonzini@redhat.com> - 2017-08-07 20:00 +0200
Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 Sebastian Rachuj <rachus@web.de> - 2017-08-07 20:50 +0200
Re: Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 Niall Walsh <lkml@celtux.org> - 2017-08-08 23:50 +0200
| From | "Sebastian Rachuj" <Rachus@web.de> |
|---|---|
| Date | 2017-08-05 21:30 +0200 |
| Subject | kvm_intel fails to load on Conroe CPUs running Linux 4.12 |
| Message-ID | <ubcVQ-DP-17@gated-at.bofh.it> |
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:
commit 2c82878b0cb38fd516fd612c67852a6bbf282003
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: Mon Mar 27 14:37:28 2017 +0200
KVM: VMX: require virtual NMI support
Virtual NMIs are only missing in Prescott and Yonah chips. Both are obsolete
for virtualization usage---Yonah is 32-bit only even---so drop vNMI emulation.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Since the commit message only mentions Prescott and Yonah chips, I wanted to ask whether this commit is also intended to affect Conroe CPUs (which are probably still a bit more widespread). Do you see a solution to bring back support for Conroe chips?
Thank you for your hard work on the kernel!
Best regards,
Sebastian Rachuj
[toc] | [next] | [standalone]
| From | Paolo Bonzini <pbonzini@redhat.com> |
|---|---|
| Date | 2017-08-06 23:20 +0200 |
| Message-ID | <ubB7P-7pO-15@gated-at.bofh.it> |
| In reply to | #1704697 |
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. Paolo
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Rachuj <rachus@web.de> |
|---|---|
| Date | 2017-08-06 23:30 +0200 |
| Message-ID | <ubBhw-7tc-29@gated-at.bofh.it> |
| In reply to | #1704973 |
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: $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 CPU 6420 @ 2.13GHz stepping : 6 microcode : 0xc6 cpu MHz : 2128.000 cache size : 4096 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow dtherm bugs : bogomips : 4275.23 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 CPU 6420 @ 2.13GHz stepping : 6 microcode : 0xc6 cpu MHz : 2128.000 cache size : 4096 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow dtherm bugs : bogomips : 4275.05 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
[toc] | [prev] | [next] | [standalone]
| From | Paolo Bonzini <pbonzini@redhat.com> |
|---|---|
| Date | 2017-08-07 11:50 +0200 |
| Message-ID | <ubMPD-6vW-7@gated-at.bofh.it> |
| In reply to | #1704982 |
[Multipart message — attachments visible in raw view] — view raw
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. Thanks, Paolo > $ cat /proc/cpuinfo > processor : 0 > vendor_id : GenuineIntel > cpu family : 6 > model : 15 > model name : Intel(R) Core(TM)2 CPU 6420 @ 2.13GHz > stepping : 6 > microcode : 0xc6 > cpu MHz : 2128.000 > cache size : 4096 KB > physical id : 0 > siblings : 2 > core id : 0 > cpu cores : 2 > apicid : 0 > initial apicid : 0 > fpu : yes > fpu_exception : yes > cpuid level : 10 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall > nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf > pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm > tpr_shadow dtherm > bugs : > bogomips : 4275.23 > clflush size : 64 > cache_alignment : 64 > address sizes : 36 bits physical, 48 bits virtual > power management: > > processor : 1 > vendor_id : GenuineIntel > cpu family : 6 > model : 15 > model name : Intel(R) Core(TM)2 CPU 6420 @ 2.13GHz > stepping : 6 > microcode : 0xc6 > cpu MHz : 2128.000 > cache size : 4096 KB > physical id : 0 > siblings : 2 > core id : 1 > cpu cores : 2 > apicid : 1 > initial apicid : 1 > fpu : yes > fpu_exception : yes > cpuid level : 10 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall > nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf > pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm > tpr_shadow dtherm > bugs : > bogomips : 4275.05 > clflush size : 64 > cache_alignment : 64 > address sizes : 36 bits physical, 48 bits virtual > power management:
[toc] | [prev] | [next] | [standalone]
| From | Nadav Amit <nadav.amit@gmail.com> |
|---|---|
| Date | 2017-08-07 19:20 +0200 |
| Message-ID | <ubTR7-3eW-7@gated-at.bofh.it> |
| In reply to | #1705302 |
Paolo Bonzini <pbonzini@redhat.com> 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. There may be another explanation. If I remember correctly from my days in Intel, Intel initially sold CMWA (Conroe) B-step. The next step, E-step, introduced a couple of new features, which may have included vNMI. The CPU of Sebastian appears to be B1 according to cpuinfo. Nadav
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Rachuj <rachus@web.de> |
|---|---|
| Date | 2017-08-07 19:20 +0200 |
| Message-ID | <ubTR7-3eW-9@gated-at.bofh.it> |
| In reply to | #1705302 |
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
[toc] | [prev] | [next] | [standalone]
| From | Paolo Bonzini <pbonzini@redhat.com> |
|---|---|
| Date | 2017-08-07 20:00 +0200 |
| Message-ID | <ubUtP-3uU-1@gated-at.bofh.it> |
| In reply to | #1705726 |
On 07/08/2017 19:17, Sebastian Rachuj wrote: >>> >>> 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: Not much to say, unfortunately. It's pretty much the same capabilities as a Prescott/Cedar Mill processor, except that it has MSR bitmaps. It also lacks FlexPriority compared to the Conroe I had checked. It's not great that even the revert patch doesn't apply cleanly---this is *not* necessarily a boring area of the hypervisor... Given the rarity of your machine I'm currently leaning towards _not_ reverting the change. I'll check another non-Xeon Core 2 tomorrow that is from December 2008 (IIRC). If that one also lacks vNMI, or if I get other reports, I suppose I will have to reconsider that. Paolo
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Rachuj <rachus@web.de> |
|---|---|
| Date | 2017-08-07 20:50 +0200 |
| Message-ID | <ubVge-45a-17@gated-at.bofh.it> |
| In reply to | #1705761 |
On 07.08.2017 19:50, Paolo Bonzini wrote: > On 07/08/2017 19:17, Sebastian Rachuj wrote: >>>> >>>> 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: > > Not much to say, unfortunately. It's pretty much the same capabilities > as a Prescott/Cedar Mill processor, except that it has MSR bitmaps. It > also lacks FlexPriority compared to the Conroe I had checked. > > It's not great that even the revert patch doesn't apply cleanly---this > is *not* necessarily a boring area of the hypervisor... > > Given the rarity of your machine I'm currently leaning towards _not_ > reverting the change. I'll check another non-Xeon Core 2 tomorrow that > is from December 2008 (IIRC). If that one also lacks vNMI, or if I get > other reports, I suppose I will have to reconsider that. That's unfortunate to hear. Just for completeness, I want to mention a thread in the Archlinux forum, I created, where two other people (Sadar and losko) also complained about not working KVM [1]. Additionally, Linux 4.12 has not reached yet reached distributions with a greater amount of users. If supporting these chips is too much of a hassle, I will probably have to buy a new CPU to enjoy KVM support with a current linux kernel. Anyway, thanks again for figuring this out! [1]: https://bbs.archlinux.org/viewtopic.php?id=228645
[toc] | [prev] | [next] | [standalone]
| From | Niall Walsh <lkml@celtux.org> |
|---|---|
| Date | 2017-08-08 23:50 +0200 |
| Message-ID | <uckxY-60T-11@gated-at.bofh.it> |
| In reply to | #1705761 |
[Multipart message — attachments visible in raw view] — view raw
Hi, On 07/08/17 18:50, Paolo Bonzini wrote: > Given the rarity of your machine I'm currently leaning towards _not_ > reverting the change. I'll check another non-Xeon Core 2 tomorrow that > is from December 2008 (IIRC). If that one also lacks vNMI, or if I get > other reports, I suppose I will have to reconsider that. afraid I've the same issue with 4.12, kvm_intel doesn't load and won't (but does on 4.11) on my Dell XPS M1210 with a Core 2 Duo T7200 from April 2007. cpuinfo and vmxcap output attached Thanks, Niall
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web