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 1TOQfx-0006aP-Dq for kexec@lists.infradead.org; Wed, 17 Oct 2012 10:16:35 +0000 Message-ID: <507E8575.4040908@redhat.com> Date: Wed, 17 Oct 2012 12:16:21 +0200 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [PATCH 0/3] x86: clear vmcss on all cpus when doing kdump if necessary References: <5077BB7B.4030203@cn.fujitsu.com> <507C2F18.8080904@redhat.com> <507E17C0.9070305@cn.fujitsu.com> In-Reply-To: <507E17C0.9070305@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: Zhang Yanfei Cc: x86@kernel.org, "kvm@vger.kernel.org" , linux-doc@vger.kernel.org, "Hao, Xudong" , mtosatti@redhat.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, "Nakajima, Jun" T24gMTAvMTcvMjAxMiAwNDoyOCBBTSwgWmhhbmcgWWFuZmVpIHdyb3RlOgo+IOS6jiAyMDEy5bm0 MTDmnIgxNeaXpSAyMzo0MywgQXZpIEtpdml0eSDlhpnpgZM6Cj4+IE9uIDEwLzEyLzIwMTIgMDg6 NDAgQU0sIFpoYW5nIFlhbmZlaSB3cm90ZToKPj4+IEN1cnJlbnRseSwga2R1bXAganVzdCBtYWtl cyBhbGwgdGhlIGxvZ2ljYWwgcHJvY2Vzc29ycyBsZWF2ZSBWTVggb3BlcmF0aW9uIGJ5Cj4+PiBl eGVjdXRpbmcgVk1YT0ZGIGluc3RydWN0aW9uLCBzbyBhbnkgVk1DU3MgYWN0aXZlIG9uIHRoZSBs b2dpY2FsIHByb2Nlc3NvcnMgbWF5Cj4+PiBiZSBjb3JydXB0ZWQuIEJ1dCwgc29tZXRpbWVzLCB3 ZSBuZWVkIHRoZSBWTUNTcyB0byBkZWJ1ZyBndWVzdCBpbWFnZXMgY29udGFpbmVkCj4+PiBpbiB0 aGUgaG9zdCB2bWNvcmUuIFRvIHByZXZlbnQgdGhlIGNvcnJ1cHRpb24sIHdlIHNob3VsZCBWTUNM RUFSIHRoZSBWTUNTcyBiZWZvcmUKPj4+IGV4ZWN1dGluZyB0aGUgVk1YT0ZGIGluc3RydWN0aW9u Lgo+PiAKPj4gSG93IGhhdmUgeW91IHZlcmlmaWVkIHRoYXQgVk1YT0ZGIGRvZXNuJ3QgZmx1c2gg Y2FjaGVkIFZNQ1NzIGFscmVhZHk/Cj4+IAo+IAo+IEkgdHJpZWQgc29tZSB0ZXN0cywgZm9yIGV4 YW1wbGUsIEkgbWFkZSBjb3BpZXMgZm9yIGV2ZXJ5IHZtY3MsIGFuZCBpbiB0aGUga2R1bXAKPiBw YXRoLCBJIGJhY2tlZCB1cCBhbGwgdGhlIGxvYWRlZCB2bWNzIGludG8gdGhlIGNvcGllcyBiZWZv cmUgdm14b2ZmLgo+IEFmdGVyIGdlbmVyYXRpbmcgdGhlIHZtY29yZSwgSSByZXRyaWV2ZSB0aGUg dm1jc3MgYW5kIHRoZWlyIGNvcGllcywgYW5kIGNvbXBhcmUgdGhlbSwKPiBubyBkaWZmZXJlbmNl cy4KPiAKPiBBbm90aGVyIHRlc3QgaXMgdXNpbmcgVk1DTEVBUiB0byBjbGVhciBhbGwgdGhlIGxv YWRlZCB2bWNzIGJlZm9yZSBWTVhPRkYsCj4gYW5kIGNvbXBhcmUgdGhlIHZtY3NzIGFuZCB0aGVp ciBjb3BpZXMsIHRoZXJlIGFyZSBpbmRlZWQgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKPiB2bWNz IGFuZCBpdHMgY29weS4KPiAKPiBJIGtub3cgdGhlIHRlc3RzIG1heSBiZSBub3Qgc28gY29udmlu Y2luZywgZm9yIGV4YW1wbGUsIEkgdXNlZCBtZW1jcHkgdG8gYmFjayB1cAo+IHRoZSB2bWNzcyBh bmQgaXQgaXMgYW4gb3JkaW5hcnkgbWVtb3J5IG9wZXJhdGlvbi4gQnV0IHRvIGVuc3VyZSB0aGUg bm9uLWNvcnJ1cHRpb24KPiBvZiB0aGUgdm1jc3MgaW4gdGhlIHZtY29yZSwgSSB0aGluayB3ZSBz aG91bGQgVk1DTEVBUiB0aGUgdm1jc3MgYmVmb3JlIFZNWE9GRiBqdXN0Cj4gYXMgdGhlIEludGVs IHNwZWMgc2F5cy4KClNvcnJ5LCBJIHdhcyB1bmNsZWFyIC0tIEkgd2FzIHJlZmVycmluZyB0byB0 aGUgc3BlYywgSSB3YXNuJ3Qgc3VyZQp3aGV0aGVyIFZNWE9GRiBpcyBkZWZpbmVkIHRvIGZsdXNo IFZNQ1NlcyBvciB3aGV0aGVyIGl0IGp1c3QgaW52YWxpZGF0ZXMKb24tY2hpcCBjYWNoZXMgc28g dGhhdCBpdCB3b24ndCBmbHVzaCB0aGVtIG91dCBpbiB0aGUgZnV0dXJlLCBjb3JydXB0aW5nCm1l bW9yeS4gIFdlIGRvbid0IHdhbnQgdG8gZGVwZW5kIG9uIGFjdHVhbCBiZWhhdmlvdXIgYXMgaXQg bWF5IGNoYW5nZQp3aXRoIGZ1dHVyZSB2ZXJzaW9uLgoKQ29weWluZyBzb21lIEludGVsIGZvbGss IG1heWJlIHRoZXkgY2FuIGNsYXJpZnkgaXQuCgo+IAo+Pj4KPj4+IFRoZSBwYXRjaCBzZXQgcHJv dmlkZXMgYW4gYWx0ZXJuYXRpdmUgd2F5IHRvIGNsZWFyIFZNQ1NzIHJlbGF0ZWQgdG8gZ3Vlc3Rz Cj4+PiBvbiBhbGwgY3B1cyB3aGVuIGhvc3QgaXMgZG9pbmcga2R1bXAuCj4+Pgo+PiAKPj4gSSdt IG5vdCBzdXJlIHRoZSBzeXNjdGwgaXMgcmVhbGx5IG5lY2Vzc2FyeS4gIFRoZSBvbmx5IHJlYXNv biB0byB0dXJuIGlmCj4+IG9mZiBpcyBpZiB0aGUgY29ycnVwdGlvbiBpcyBzbyBzZXZlcmUgdGhh dCB0aGUgbG9hZGVkIHZtY3MgbGlzdCBpdHNlbGYKPj4gY2F1c2VzIGEgY3Jhc2guICBJIHRoaW5r IGl0IHNob3VsZCBiZSByYXJlIGVub3VnaCB0aGF0IHdlIGNhbiBkbyBpdAo+PiB1bmNvbmRpdGlv bmFsbHkuCj4+IAo+IAo+IFlvdSBtZWFuIG5vdCB1c2luZyBzeXNjdGwgYW5kIGp1c3QgbGV0IFZN Q0xFQVItVk1DU1MgYmUgYSBkZWZhdWx0IGJlaGF2aW91cj8gSWYgc28sCj4gSSBhZ3JlZSB3aXRo IHlvdS4KClllcywgdGhhdCdzIHdoYXQgSSBtZWFudC4KCgotLSAKZXJyb3IgY29tcGlsaW5nIGNv bW1pdHRlZS5jOiB0b28gbWFueSBhcmd1bWVudHMgdG8gZnVuY3Rpb24KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmtleGVjIG1haWxpbmcgbGlzdAprZXhl Y0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8va2V4ZWMK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 0/3] x86: clear vmcss on all cpus when doing kdump if necessary Date: Wed, 17 Oct 2012 12:16:21 +0200 Message-ID: <507E8575.4040908@redhat.com> References: <5077BB7B.4030203@cn.fujitsu.com> <507C2F18.8080904@redhat.com> <507E17C0.9070305@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: x86@kernel.org, kexec@lists.infradead.org, linux-doc@vger.kernel.org, mtosatti@redhat.com, linux-kernel@vger.kernel.org, "kvm@vger.kernel.org" , "Hao, Xudong" , "Nakajima, Jun" To: Zhang Yanfei Return-path: In-Reply-To: <507E17C0.9070305@cn.fujitsu.com> Sender: linux-doc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 10/17/2012 04:28 AM, Zhang Yanfei wrote: > =E4=BA=8E 2012=E5=B9=B410=E6=9C=8815=E6=97=A5 23:43, Avi Kivity =E5=86= =99=E9=81=93: >> On 10/12/2012 08:40 AM, Zhang Yanfei wrote: >>> Currently, kdump just makes all the logical processors leave VMX op= eration by >>> executing VMXOFF instruction, so any VMCSs active on the logical pr= ocessors may >>> be corrupted. But, sometimes, we need the VMCSs to debug guest imag= es contained >>> in the host vmcore. To prevent the corruption, we should VMCLEAR th= e VMCSs before >>> executing the VMXOFF instruction. >>=20 >> How have you verified that VMXOFF doesn't flush cached VMCSs already= ? >>=20 >=20 > I tried some tests, for example, I made copies for every vmcs, and in= the kdump > path, I backed up all the loaded vmcs into the copies before vmxoff. > After generating the vmcore, I retrieve the vmcss and their copies, a= nd compare them, > no differences. >=20 > Another test is using VMCLEAR to clear all the loaded vmcs before VMX= OFF, > and compare the vmcss and their copies, there are indeed differences = between the > vmcs and its copy. >=20 > I know the tests may be not so convincing, for example, I used memcpy= to back up > the vmcss and it is an ordinary memory operation. But to ensure the n= on-corruption > of the vmcss in the vmcore, I think we should VMCLEAR the vmcss befor= e VMXOFF just > as the Intel spec says. Sorry, I was unclear -- I was referring to the spec, I wasn't sure whether VMXOFF is defined to flush VMCSes or whether it just invalidate= s on-chip caches so that it won't flush them out in the future, corruptin= g memory. We don't want to depend on actual behaviour as it may change with future version. Copying some Intel folk, maybe they can clarify it. >=20 >>> >>> The patch set provides an alternative way to clear VMCSs related to= guests >>> on all cpus when host is doing kdump. >>> >>=20 >> I'm not sure the sysctl is really necessary. The only reason to tur= n if >> off is if the corruption is so severe that the loaded vmcs list itse= lf >> causes a crash. I think it should be rare enough that we can do it >> unconditionally. >>=20 >=20 > You mean not using sysctl and just let VMCLEAR-VMCSS be a default beh= aviour? If so, > I agree with you. Yes, that's what I meant. --=20 error compiling committee.c: too many arguments to function