From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <5645BB03.1080300@citrix.com> Date: Fri, 13 Nov 2015 10:27:15 +0000 From: David Vrabel MIME-Version: 1.0 To: Kamal Mostafa , , , CC: Vitaly Kuznetsov Subject: Re: [PATCH 3.19.y-ckt 042/155] x86/xen: Support kexec/kdump in HVM guests by doing a soft reset References: <1447370309-357-1-git-send-email-kamal@canonical.com> <1447370309-357-43-git-send-email-kamal@canonical.com> In-Reply-To: <1447370309-357-43-git-send-email-kamal@canonical.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: On 12/11/15 23:16, Kamal Mostafa wrote: > 3.19.8-ckt10 -stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: Vitaly Kuznetsov > > commit 0b34a166f291d255755be46e43ed5497cdd194f2 upstream. > > Currently there is a number of issues preventing PVHVM Xen guests from > doing successful kexec/kdump: > > - Bound event channels. > - Registered vcpu_info. > - PIRQ/emuirq mappings. > - shared_info frame after XENMAPSPACE_shared_info operation. > - Active grant mappings. > > Basically, newly booted kernel stumbles upon already set up Xen > interfaces and there is no way to reestablish them. In Xen-4.7 a new > feature called 'soft reset' is coming. A guest performing kexec/kdump > operation is supposed to call SCHEDOP_shutdown hypercall with > SHUTDOWN_soft_reset reason before jumping to new kernel. Hypervisor > (with some help from toolstack) will do full domain cleanup (but > keeping its memory and vCPU contexts intact) returning the guest to > the state it had when it was first booted and thus allowing it to > start over. > > Doing SHUTDOWN_soft_reset on Xen hypervisors which don't support it is > probably OK as by default all unknown shutdown reasons cause domain > destroy with a message in toolstack log: 'Unknown shutdown reason code > 5. Destroying domain.' which gives a clue to what the problem is and > eliminates false expectations. > > Signed-off-by: Vitaly Kuznetsov > Signed-off-by: David Vrabel > Signed-off-by: Kamal Mostafa > --- > arch/x86/xen/enlighten.c | 23 +++++++++++++++++++++++ > include/xen/interface/sched.h | 8 ++++++++ > 2 files changed, 31 insertions(+) > > diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c > index f94ad30..2339a33 100644 > --- a/arch/x86/xen/enlighten.c > +++ b/arch/x86/xen/enlighten.c > @@ -33,6 +33,10 @@ > #include > #include > > +#ifdef CONFIG_KEXEC_CORE You need to change all uses of CONFIG_KEXEC_CORE to CONFIG_KEXEC. David