[lkml]   [2012]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 0/2 v3] kvm: notify host when guest panicked
On 2012-03-15 11:39, Gleb Natapov wrote:
> On Wed, Mar 14, 2012 at 11:46:08AM -0700, Eric Northup wrote:
>> On Wed, Mar 14, 2012 at 6:25 AM, Gleb Natapov <> wrote:
>>> On Wed, Mar 14, 2012 at 03:16:05PM +0200, Avi Kivity wrote:
>>>> On 03/14/2012 03:14 PM, Gleb Natapov wrote:
>>>>> On Wed, Mar 14, 2012 at 03:07:46PM +0200, Avi Kivity wrote:
>>>>>> On 03/14/2012 01:11 PM, Wen Congyang wrote:
>>>>>>>> I don't think we want to use the driver. Instead, have a small
>>> piece of
>>>>>>>> code that resets the device and pushes out a string (the panic
>>> message?)
>>>>>>>> without any interrupts etc.
>>>>>>>> It's still going to be less reliable than a hypercall, I agree.
>>>>>>> Do you still want to use complicated and less reliable way?
>>>>>> Are you willing to try it out and see how complicated it really is?
>>>>>> While it's more complicated, it's also more flexible. You can
>>>>>> communicate the panic message, whether the guest is attempting a
>>> kdump
>>>>>> and its own recovery or whether it wants the host to do it, etc., you
>>>>>> can communicate less severe failures like oopses.
>>>>> hypercall can take arguments to achieve the same.
>>>> It has to be designed in advance; and every time we notice something's
>>>> missing we have to update the host kernel.
>>> We and in the designed stage now. Not to late to design something flexible
>>> :) Panic hypercall can take GPA of a buffer where host puts panic info
>>> as a parameter. This buffer can be read by QEMU and passed to management.
>> If a host kernel change is in the works, I think it might be cleanest to
>> have the host kernel export a new kind of VCPU exit for unhandled-by-KVM
>> hypercalls. Then usermode can respond to the hypercall as appropriate.
>> This would permit adding or changing future hypercalls without host kernel
>> changes.
> There was such vm exit (KVM_EXIT_HYPERCALL), but it was deemed to be a
> bad idea.

BTW, this would help a lot in emulating hypercalls of other hypervisors
(or of KVM's VAPIC in the absence of in-kernel irqchip - I had to jump
through hoops therefore) in user space. Not all those hypercall handlers
actually have to reside in the KVM module.


Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

 \ /
  Last update: 2012-03-15 12:29    [W:0.115 / U:0.744 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site