From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from [222.73.24.84] (helo=song.cn.fujitsu.com) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Tcnx2-0003fH-3F for kexec@lists.infradead.org; Mon, 26 Nov 2012 01:57:36 +0000 Message-ID: <50B2CC1D.6060708@cn.fujitsu.com> Date: Mon, 26 Nov 2012 09:55:41 +0800 From: Zhang Yanfei MIME-Version: 1.0 Subject: Re: [PATCH v8 0/2] x86: vmclear vmcss on all cpus when doing kdump if necessary References: <50ADE0C2.1000106@cn.fujitsu.com> In-Reply-To: <50ADE0C2.1000106@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: "Eric W. Biederman" Cc: Marcelo Tosatti , Gleb Natapov , "kvm@vger.kernel.org" , "x86@kernel.org" , "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" SGVsbG8gRXJpYwoKV291bGQgeW91IGhlbHAgcmV2aWV3IHRoZSBwYXRjaCwgYW5kIGdpdmUgc29t ZSBjb21tZW50cywgcGxlYXNlID8gCgpUaGFua3MKWmhhbmcKCuS6jiAyMDEy5bm0MTHmnIgyMuaX pSAxNjoyMiwgWmhhbmcgWWFuZmVpIOWGmemBkzoKPiBDdXJyZW50bHksIGtkdW1wIGp1c3QgbWFr ZXMgYWxsIHRoZSBsb2dpY2FsIHByb2Nlc3NvcnMgbGVhdmUgVk1YIG9wZXJhdGlvbiBieQo+IGV4 ZWN1dGluZyBWTVhPRkYgaW5zdHJ1Y3Rpb24sIHNvIGFueSBWTUNTcyBhY3RpdmUgb24gdGhlIGxv Z2ljYWwgcHJvY2Vzc29ycyBtYXkKPiBiZSBjb3JydXB0ZWQuIEJ1dCwgc29tZXRpbWVzLCB3ZSBu ZWVkIHRoZSBWTUNTcyB0byBkZWJ1ZyBndWVzdCBpbWFnZXMgY29udGFpbmVkCj4gaW4gdGhlIGhv c3Qgdm1jb3JlLiBUbyBwcmV2ZW50IHRoZSBjb3JydXB0aW9uLCB3ZSBzaG91bGQgVk1DTEVBUiB0 aGUgVk1DU3MgYmVmb3JlCj4gZXhlY3V0aW5nIHRoZSBWTVhPRkYgaW5zdHJ1Y3Rpb24uCj4gCj4g VGhlIHBhdGNoIHNldCBwcm92aWRlcyBhIHdheSB0byBWTUNMRUFSIHZtY3NzIHJlbGF0ZWQgdG8g Z3Vlc3RzIG9uIGFsbCBjcHVzIGJlZm9yZQo+IGV4ZWN1dGluZyB0aGUgVk1YT0ZGIHdoZW4gZG9p bmcga2R1bXAuIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgdGhlIFZNQ1NzIGluIHRoZQo+IHZtY29y ZSB1cGRhdGVkIGFuZCBub24tY29ycnVwdGVkLgo+IAo+IENoYW5nZWxvZyBmcm9tIHY3IHRvIHY4 Ogo+IDEuIEtFWEVDOiByZWdyZXNzaW9uIGZvciB1c2luZyBuYW1lIGNyYXNoX25vdGlmaWVyX2xp c3QKPiAgICBhbmQgcmVtb3ZlIGNvbW1lbnRzIHJlbGF0ZWQgdG8gS1ZNCj4gICAgYW5kIGp1c3Qg Y2FsbCBmdW5jdGlvbiBhdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbiBkaXJlY3RseS4KPiAKPiBD aGFuZ2Vsb2cgZnJvbSB2NiB0byB2NzoKPiAxLiBLVk0tSU5URUw6IGluIGhhcmR3YXJlX2Rpc2Fi bGUsIHdlIG5lZWRuJ3QgZGlzYWJsZSB0aGUKPiAgICB2bWNsZWFyLCBzbyByZW1vdmUgaXQuCj4g Cj4gQ2hhbmdlbG9nIGZyb20gdjUgdG8gdjY6Cj4gMS4gS0VYRUM6IHRoZSBhdG9taWMgbm90aWZp ZXIgbGlzdCByZW5hbWVkOgo+ICAgIGNyYXNoX25vdGlmaWVyX2xpc3QgLS0+IHZtY2xlYXJfbm90 aWZpZXJfbGlzdAo+IDIuIEtWTS1JTlRFTDogcHJvdmlkZSBlbXB0eSBmdW5jdGlvbnMgaWYgQ09O RklHX0tFWEVDIGlzCj4gICAgbm90IGRlZmluZWQgYW5kIHJlbW92ZSB1bm5lY2Vzc2FyeSAjaWZk ZWYncy4KPiAKPiBDaGFuZ2Vsb2cgZnJvbSB2NCB0byB2NToKPiAxLiB1c2UgYW4gYXRvbWljIG5v dGlmaWVyIGluc3RlYWQgb2YgZnVuY3Rpb24gY2FsbCwgc28KPiAgICBoYXZlIGFsbCB0aGUgdm1j bGVhciBjb2RlcyBpbiB2bXguYy4KPiAKPiBDaGFuZ2Vsb2cgZnJvbSB2MyB0byB2NDoKPiAxLiBh ZGQgYSBuZXcgcGVyY3B1IHZhcmlhYmxlIHZtY2xlYXJfc2tpcHBlZCB0byBza2lwCj4gICAgdm1j bGVhciBpbiBrZHVtcCBpbiBzb21lIGNvbmRpdGlvbnMuCj4gCj4gQ2hhbmdlbG9nIGZyb20gdjIg dG8gdjM6Cj4gMS4gcmVtb3ZlIHVubmVjZXNzYXJ5IGNvbmRpdGlvbnMgaW4gZnVuY3Rpb24KPiAg ICBjcHVfZW1lcmdlbmN5X2NsZWFyX2xvYWRlZF92bWNzcyBhcyBNYXJjZWxvIHN1Z2dlc3RlZC4K PiAKPiBDaGFuZ2Vsb2cgZnJvbSB2MSB0byB2MjoKPiAxLiByZW1vdmUgdGhlIHN5c2N0bCBhbmQg Y2xlYXIgVk1DU3MgdW5jb25kaXRpb25hbGx5Lgo+IAo+IFpoYW5nIFlhbmZlaSAoMik6Cj4gICB4 ODYva2V4ZWM6IGFkZCBhIG5ldyBhdG9taWMgbm90aWZpZXIgbGlzdCBmb3Iga2R1bXAKPiAgIEtW TS1JTlRFTDogYWRkIGEgbm90aWZpZXIgYW5kIGEgYml0bWFwIHRvIHN1cHBvcnQgVk1DTEVBUiBp biBrZHVtcAo+IAo+ICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9rZXhlYy5oIHwgICAgMiArCj4gIGFy Y2gveDg2L2tlcm5lbC9jcmFzaC5jICAgICAgfCAgICA5ICsrKysrCj4gIGFyY2gveDg2L2t2bS92 bXguYyAgICAgICAgICAgfCAgIDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25z KC0pCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka2V4 ZWMgbWFpbGluZyBsaXN0CmtleGVjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Yanfei Subject: Re: [PATCH v8 0/2] x86: vmclear vmcss on all cpus when doing kdump if necessary Date: Mon, 26 Nov 2012 09:55:41 +0800 Message-ID: <50B2CC1D.6060708@cn.fujitsu.com> References: <50ADE0C2.1000106@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" , Marcelo Tosatti , Gleb Natapov , "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" To: "Eric W. Biederman" Return-path: In-Reply-To: <50ADE0C2.1000106@cn.fujitsu.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Hello Eric Would you help review the patch, and give some comments, please ?=20 Thanks Zhang =E4=BA=8E 2012=E5=B9=B411=E6=9C=8822=E6=97=A5 16:22, Zhang Yanfei =E5=86= =99=E9=81=93: > Currently, kdump just makes all the logical processors leave VMX oper= ation by > executing VMXOFF instruction, so any VMCSs active on the logical proc= essors may > be corrupted. But, sometimes, we need the VMCSs to debug guest images= contained > in the host vmcore. To prevent the corruption, we should VMCLEAR the = VMCSs before > executing the VMXOFF instruction. >=20 > The patch set provides a way to VMCLEAR vmcss related to guests on al= l cpus before > executing the VMXOFF when doing kdump. This is used to ensure the VMC= Ss in the > vmcore updated and non-corrupted. >=20 > Changelog from v7 to v8: > 1. KEXEC: regression for using name crash_notifier_list > and remove comments related to KVM > and just call function atomic_notifier_call_chain directly. >=20 > Changelog from v6 to v7: > 1. KVM-INTEL: in hardware_disable, we needn't disable the > vmclear, so remove it. >=20 > Changelog from v5 to v6: > 1. KEXEC: the atomic notifier list renamed: > crash_notifier_list --> vmclear_notifier_list > 2. KVM-INTEL: provide empty functions if CONFIG_KEXEC is > not defined and remove unnecessary #ifdef's. >=20 > Changelog from v4 to v5: > 1. use an atomic notifier instead of function call, so > have all the vmclear codes in vmx.c. >=20 > Changelog from v3 to v4: > 1. add a new percpu variable vmclear_skipped to skip > vmclear in kdump in some conditions. >=20 > Changelog from v2 to v3: > 1. remove unnecessary conditions in function > cpu_emergency_clear_loaded_vmcss as Marcelo suggested. >=20 > Changelog from v1 to v2: > 1. remove the sysctl and clear VMCSs unconditionally. >=20 > Zhang Yanfei (2): > x86/kexec: add a new atomic notifier list for kdump > KVM-INTEL: add a notifier and a bitmap to support VMCLEAR in kdump >=20 > arch/x86/include/asm/kexec.h | 2 + > arch/x86/kernel/crash.c | 9 +++++ > arch/x86/kvm/vmx.c | 70 ++++++++++++++++++++++++++++++++= ++++++++++ > 3 files changed, 81 insertions(+), 0 deletions(-)