Re: [PATCH 3.19.y-ckt 042/155] x86/xen: Support kexec/kdump in HVM guests by doing a soft reset
From: David Vrabel
Date: Fri Nov 13 2015 - 05:27:27 EST
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 <vkuznets@xxxxxxxxxx>
>
> 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 <vkuznets@xxxxxxxxxx>
> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
> Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx>
> ---
> 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 <linux/memblock.h>
> #include <linux/edd.h>
>
> +#ifdef CONFIG_KEXEC_CORE
You need to change all uses of CONFIG_KEXEC_CORE to CONFIG_KEXEC.
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/