Re: [PATCH] xen/pvhvm: add soft reset on kexec/kdump support
From: Vitaly Kuznetsov
Date: Fri Sep 25 2015 - 12:58:15 EST
Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> writes:
> On 09/25/2015 09:59 AM, Konrad Rzeszutek Wilk wrote:
>> On Fri, Sep 25, 2015 at 11:59:52AM +0200, Vitaly Kuznetsov wrote:
>>> 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>
>> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>>
>> with s/pvhvm/hvm/
>>
>> to match with the rest of the file.
>>
>> Thanks.
>>> +#ifdef CONFIG_KEXEC_CORE
>>> +static void xen_pvhvm_kexec_shutdown(void)
>>> +{
>>> + native_machine_shutdown();
>>> + if (kexec_in_progress)
>>> + xen_reboot(SHUTDOWN_soft_reset);
>>> +}
>
> This routine is not kexec-specific so "kexec_" should be dropped from
> the name.
Ok,
>
> Also, I am not sure I see how this new op will be used in the
> hypervisor --- currently AFAICS it is only processed under
> is_hardware_domain(). Are there other patches that will support HVM
> guests?
Please see my Xen series:
http://lists.xenproject.org/archives/html/xen-devel/2015-09/msg00547.html
(last 'full' submission).
All patches from my 'toolstack-assisted approach to PVHVM guest kexec'
are already merged to xen.git (first 10 are already in 'master' and the
last one is in 'staging').
--
Vitaly
--
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/