From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx1.redhat.com ([209.132.183.28]) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TYNw3-0005bI-Ji for kexec@lists.infradead.org; Tue, 13 Nov 2012 21:22:21 +0000 Date: Tue, 13 Nov 2012 19:22:03 -0200 From: Marcelo Tosatti Subject: Re: [PATCH v3 2/2] KVM: make crash_clear_loaded_vmcss valid when loading kvm_intel module Message-ID: <20121113212203.GA26386@amt.cnet> References: <50909B55.2070901@cn.fujitsu.com> <50909C35.9080702@cn.fujitsu.com> <33710E6CAA200E4583255F4FB666C4E20AACCA2F@G01JPEXMBYT03> <50920EB8.3020400@cn.fujitsu.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <50920EB8.3020400@cn.fujitsu.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: kexec-bounces@lists.infradead.org Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: zhangyanfei Cc: "kvm@vger.kernel.org" , "x86@kernel.org" , "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "Hatayama, Daisuke" , Avi Kivity T24gVGh1LCBOb3YgMDEsIDIwMTIgYXQgMDE6NTU6MDRQTSArMDgwMCwgemhhbmd5YW5mZWkgd3Jv dGU6Cj4g5LqOIDIwMTLlubQxMOaciDMx5pelIDE3OjAxLCBIYXRheWFtYSwgRGFpc3VrZSDlhpnp gZM6Cj4gPiAKPiA+IAo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPj4gRnJvbTog a2V4ZWMtYm91bmNlc0BsaXN0cy5pbmZyYWRlYWQub3JnCj4gPj4gW21haWx0bzprZXhlYy1ib3Vu Y2VzQGxpc3RzLmluZnJhZGVhZC5vcmddIE9uIEJlaGFsZiBPZiB6aGFuZ3lhbmZlaQo+ID4+IFNl bnQ6IFdlZG5lc2RheSwgT2N0b2JlciAzMSwgMjAxMiAxMjozNCBQTQo+ID4+IFRvOiB4ODZAa2Vy bmVsLm9yZzsga2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZzsgQXZpIEtpdml0eTsgTWFyY2Vsbwo+ ID4+IFRvc2F0dGkKPiA+PiBDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsga3ZtQHZn ZXIua2VybmVsLm9yZwo+ID4+IFN1YmplY3Q6IFtQQVRDSCB2MyAyLzJdIEtWTTogbWFrZSBjcmFz aF9jbGVhcl9sb2FkZWRfdm1jc3MgdmFsaWQgd2hlbgo+ID4+IGxvYWRpbmcga3ZtX2ludGVsIG1v ZHVsZQo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogWmhhbmcgWWFuZmVpIDx6aGFuZ3lhbmZlaUBj bi5mdWppdHN1LmNvbT4KPiA+IAo+ID4gWy4uLl0KPiA+IAo+ID4+IEBAIC03MjMwLDYgKzcyMzEs MTAgQEAgc3RhdGljIGludCBfX2luaXQgdm14X2luaXQodm9pZCkKPiA+PiAgCWlmIChyKQo+ID4+ ICAJCWdvdG8gb3V0MzsKPiA+Pgo+ID4+ICsjaWZkZWYgQ09ORklHX0tFWEVDCj4gPj4gKwljcmFz aF9jbGVhcl9sb2FkZWRfdm1jc3MgPSB2bWNsZWFyX2xvY2FsX2xvYWRlZF92bWNzczsKPiA+PiAr I2VuZGlmCj4gPj4gKwo+ID4gCj4gPiBBc3NpZ25tZW50IGhlcmUgY2Fubm90IGNvdmVyIHRoZSBj YXNlIHdoZXJlIE5NSSBpcyBpbml0aWF0ZWQgYWZ0ZXIgVk1YIGlzIG9uIGluIGt2bV9pbml0IGFu ZCBiZWZvcmUgdm1jbGVhcl9sb2NhbF9sb2FkZWRfdm1jc3MgaXMgYXNzaWduZWQsIHRob3VnaCBy YXJlIGJ1dCBjYW4gaGFwcGVuLgo+ID4gCj4gCj4gQnkgc2F5aW5nICJWTVggaXMgb24gaW4ga3Zt IGluaXQiLCB5b3UgbWVhbiBrdm1faW5pdCBlbmFibGVzIHRoZSBWTVggZmVhdHVyZSBpbiB0aGUg bG9naWNhbCBwcm9jZXNzb3I/Cj4gTm8sIG9ubHkgdGhlcmUgaXMgYSB2Y3B1IHRvIGJlIGNyZWF0 ZWQsIGt2bSB3aWxsIGVuYWJsZSB0aGUgVk1YIGZlYXR1cmUuCj4gCj4gSSB0aGluayB0aGVyZSBp cyBubyBkaWZmZXJlbmNlIHdpdGggdGhpcyBhc3NpZ25tZW50IGJlZm9yZSBvciBhZnRlciBrdm1f aW5pdCBiZWNhdXNlIHRoZSB2bWNzIGxpbmtlZAo+IGxpc3QgbXVzdCBiZSBlbXB0eSBiZWZvcmUg dm14X2luaXQgaXMgZmluaXNoZWQuCgpUaGUgbGlzdCBpcyBub3QgaW5pdGlhbGl6ZWQgYmVmb3Jl IGhhcmR3YXJlX2VuYWJsZSgpLCB0aG91Z2guIFNob3VsZAptb3ZlIHRoZSBhc3NpZ25tZW50IGFm dGVyIHRoYXQuCgpBbHNvLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBsb2FkZWRfdm1jc3Nfb25f Y3B1IGxpc3QgaXMgYmVpbmcgbW9kaWZpZWQKX3doaWxlXyBjcmFzaCBleGVjdXRlcyBzYXkgdmlh IE5NSSwgY29ycmVjdD8gSWYgdGhhdCBpcyB0aGUgY2FzZSwgYmV0dGVyCmZsYWcgdGhhdCB0aGUg bGlzdCBpcyB1bmRlciBtYW5pcHVsYXRpb24gc28gdGhlIHZtY2xlYXIgY2FuIGJlIHNraXBwZWQu Cgo+IFRoYW5rcwo+IFpoYW5nIFlhbmZlaQo+IAo+ID4gV2hhdCBkb2VzIGhhcHBlbiBpZiBjYWxs aW5nIHZtY2xlYXJfbG9jYWxfbG9hZGVkX3ZtY3NzIGJlZm9yZSBrdm1faW5pdD8gSSB0aGluayBp dCBubyBwcm9ibGVtIHNpbmNlIHRoZSBsaXN0IGlzIGluaXRpYWxseSBlbXB0eS4KPiA+IAo+ID4+ ICAJdm14X2Rpc2FibGVfaW50ZXJjZXB0X2Zvcl9tc3IoTVNSX0ZTX0JBU0UsIGZhbHNlKTsKPiA+ PiAgCXZteF9kaXNhYmxlX2ludGVyY2VwdF9mb3JfbXNyKE1TUl9HU19CQVNFLCBmYWxzZSk7Cj4g Pj4gIAl2bXhfZGlzYWJsZV9pbnRlcmNlcHRfZm9yX21zcihNU1JfS0VSTkVMX0dTX0JBU0UsIHRy dWUpOwo+ID4+IEBAIC03MjY1LDYgKzcyNzAsMTAgQEAgc3RhdGljIHZvaWQgX19leGl0IHZteF9l eGl0KHZvaWQpCj4gPj4gIAlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpdm14X2lvX2JpdG1hcF9i KTsKPiA+PiAgCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZyl2bXhfaW9fYml0bWFwX2EpOwo+ID4+ Cj4gPj4gKyNpZmRlZiBDT05GSUdfS0VYRUMKPiA+PiArCWNyYXNoX2NsZWFyX2xvYWRlZF92bWNz cyA9IE5VTEw7Cj4gPj4gKyNlbmRpZgo+ID4+ICsKPiA+PiAgCWt2bV9leGl0KCk7Cj4gPj4gIH0K PiA+IAo+ID4gQWxzbywgdGhpcyBpcyBjb252ZXJzZSB0byB0aGUgYWJvdmUuCj4gPiAKPiA+IFRo YW5rcy4KPiA+IEhBVEFZQU1BLCBEYWlzdWtlCj4gPiAKPiA+IAo+IAo+IC0tCj4gVG8gdW5zdWJz Y3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGt2bSIgaW4K PiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwo+IE1v cmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWlu Zm8uaHRtbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K a2V4ZWMgbWFpbGluZyBsaXN0CmtleGVjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH v3 2/2] KVM: make crash_clear_loaded_vmcss valid when loading kvm_intel module Date: Tue, 13 Nov 2012 19:22:03 -0200 Message-ID: <20121113212203.GA26386@amt.cnet> References: <50909B55.2070901@cn.fujitsu.com> <50909C35.9080702@cn.fujitsu.com> <33710E6CAA200E4583255F4FB666C4E20AACCA2F@G01JPEXMBYT03> <50920EB8.3020400@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: "Hatayama, Daisuke" , "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" , "x86@kernel.org" , "kexec@lists.infradead.org" , Avi Kivity To: zhangyanfei Return-path: Content-Disposition: inline In-Reply-To: <50920EB8.3020400@cn.fujitsu.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Thu, Nov 01, 2012 at 01:55:04PM +0800, zhangyanfei wrote: > =E4=BA=8E 2012=E5=B9=B410=E6=9C=8831=E6=97=A5 17:01, Hatayama, Daisuk= e =E5=86=99=E9=81=93: > >=20 > >=20 > >> -----Original Message----- > >> From: kexec-bounces@lists.infradead.org > >> [mailto:kexec-bounces@lists.infradead.org] On Behalf Of zhangyanfe= i > >> Sent: Wednesday, October 31, 2012 12:34 PM > >> To: x86@kernel.org; kexec@lists.infradead.org; Avi Kivity; Marcelo > >> Tosatti > >> Cc: linux-kernel@vger.kernel.org; kvm@vger.kernel.org > >> Subject: [PATCH v3 2/2] KVM: make crash_clear_loaded_vmcss valid w= hen > >> loading kvm_intel module > >> > >> Signed-off-by: Zhang Yanfei > >=20 > > [...] > >=20 > >> @@ -7230,6 +7231,10 @@ static int __init vmx_init(void) > >> if (r) > >> goto out3; > >> > >> +#ifdef CONFIG_KEXEC > >> + crash_clear_loaded_vmcss =3D vmclear_local_loaded_vmcss; > >> +#endif > >> + > >=20 > > Assignment here cannot cover the case where NMI is initiated after = VMX is on in kvm_init and before vmclear_local_loaded_vmcss is assigned= , though rare but can happen. > >=20 >=20 > By saying "VMX is on in kvm init", you mean kvm_init enables the VMX = feature in the logical processor? > No, only there is a vcpu to be created, kvm will enable the VMX featu= re. >=20 > I think there is no difference with this assignment before or after k= vm_init because the vmcs linked > list must be empty before vmx_init is finished. The list is not initialized before hardware_enable(), though. Should move the assignment after that. Also, it is possible that the loaded_vmcss_on_cpu list is being modifie= d _while_ crash executes say via NMI, correct? If that is the case, bette= r flag that the list is under manipulation so the vmclear can be skipped. > Thanks > Zhang Yanfei >=20 > > What does happen if calling vmclear_local_loaded_vmcss before kvm_i= nit? I think it no problem since the list is initially empty. > >=20 > >> vmx_disable_intercept_for_msr(MSR_FS_BASE, false); > >> vmx_disable_intercept_for_msr(MSR_GS_BASE, false); > >> vmx_disable_intercept_for_msr(MSR_KERNEL_GS_BASE, true); > >> @@ -7265,6 +7270,10 @@ static void __exit vmx_exit(void) > >> free_page((unsigned long)vmx_io_bitmap_b); > >> free_page((unsigned long)vmx_io_bitmap_a); > >> > >> +#ifdef CONFIG_KEXEC > >> + crash_clear_loaded_vmcss =3D NULL; > >> +#endif > >> + > >> kvm_exit(); > >> } > >=20 > > Also, this is converse to the above. > >=20 > > Thanks. > > HATAYAMA, Daisuke > >=20 > >=20 >=20 > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html