[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7.5] kvm: notify host when the guest is panicke
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH v7.5] kvm: notify host when the guest is panicked |
Date: |
Sun, 22 Jul 2012 17:36:37 -0500 |
User-agent: |
Notmuch/0.13.2+60~g7ecf77d (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Sasha Levin <address@hidden> writes:
> On 07/22/2012 09:14 PM, Anthony Liguori wrote:
>> Sasha Levin <address@hidden> writes:
>>
>>> On 07/21/2012 10:44 AM, Wen Congyang wrote:
>>>> We can know the guest is panicked when the guest runs on xen.
>>>> But we do not have such feature on kvm.
>>>>
>>>> Another purpose of this feature is: management app(for example:
>>>> libvirt) can do auto dump when the guest is panicked. If management
>>>> app does not do auto dump, the guest's user can do dump by hand if
>>>> he sees the guest is panicked.
>>>>
>>>> We have three solutions to implement this feature:
>>>> 1. use vmcall
>>>> 2. use I/O port
>>>> 3. use virtio-serial.
>>>>
>>>> We have decided to avoid touching hypervisor. The reason why I choose
>>>> choose the I/O port is:
>>>> 1. it is easier to implememt
>>>> 2. it does not depend any virtual device
>>>> 3. it can work when starting the kernel
>>>
>>> Was the option of implementing a virtio-watchdog driver considered?
>>>
>>> You're basically re-implementing a watchdog, a guest-host interface and a
>>> set of protocols for guest-host communications.
>>>
>>> Why can't we re-use everything we have now, push a virtio watchdog
>>> driver into drivers/watchdog/, and gain a more complete solution to
>>> detecting hangs inside the guest.
>>
>> The purpose of virtio is not to reinvent every possible type of device.
>> There are plenty of hardware watchdogs that are very suitable to be used
>> for this purpose. QEMU implements quite a few already.
>>
>> Watchdogs are not performance sensitive so there's no point in using
>> virtio.
>
> The issue here is not performance, but the adding of a brand new
> guest-host interface.
We have:
1) Virtio--this is our preferred PV interface. It needs PCI to be fully
initialized and probably will live as a module.
2) Hypercalls--this a secondary PV interface but is available very
early. It's terminated in kvm.ko which means it can only operate on
things that are logically part of the CPU and/or APIC complex.
This patch introduces a third interface which is available early like
hypercalls but not necessarily terminated in kvm.ko. That means it can
have a broader scope in functionality than (2).
We could just as well use a hypercall and have multiple commands issued
to that hypercall as a convention and add a new exit type to KVM that
sent that specific hypercall to userspace for processing.
But a PIO operation already has this behavior and requires no changes to kvm.ko.
> virtio-rng isn't performance sensitive either, yet it was implemented
> using virtio so there wouldn't be yet another interface to communicate
> between guest and host.
There isn't really an obvious discrete RNG that is widely supported.
> This patch goes ahead to add a "arch pv features" interface using
> ioports, without any idea what it might be used for beyond this
> watchdog.
It's not a watchdog--it's the opposite of a watchdog.
You know such a thing already exists in the kernel, right? S390 has had
a hypercall like this for years.
Regards,
Anthony Liguori
- [Qemu-devel] [PATCH 3/6 v7] add a new runstate: RUN_STATE_GUEST_PANICKED, (continued)
- [Qemu-devel] [PATCH 3/6 v7] add a new runstate: RUN_STATE_GUEST_PANICKED, Wen Congyang, 2012/07/21
- [Qemu-devel] [PATCH 4/6 v7] add a new qevent: QEVENT_GUEST_PANICKED, Wen Congyang, 2012/07/21
- [Qemu-devel] [PATCH 5/6 v7] introduce a new qom device to deal with panicked event, Wen Congyang, 2012/07/21
- [Qemu-devel] [PATCH 6/6 v7] allow the user to disable pv event support, Wen Congyang, 2012/07/21
- Re: [Qemu-devel] [PATCH v7] kvm: notify host when the guest is panicked, Jan Kiszka, 2012/07/21
- [Qemu-devel] [PATCH v7.5] kvm: notify host when the guest is panicked, Wen Congyang, 2012/07/21
- Re: [Qemu-devel] [PATCH v7.5] kvm: notify host when the guest is panicked, Wen Congyang, 2012/07/22
Re: [Qemu-devel] [PATCH v7] kvm: notify host when the guest is panicked, Sasha Levin, 2012/07/21
Re: [Qemu-devel] [PATCH v7] kvm: notify host when the guest is panicked, Anthony Liguori, 2012/07/22