Re: [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 30, 2011 at 06:26, Marcelo Tosatti <mtosatti@xxxxxxxxxx> wrote:
> On Mon, Aug 29, 2011 at 05:27:11PM -0600, Eric B Munson wrote:
>> Currently, when qemu stops a guest kernel that guest will issue a soft lockup
>> message when it resumes.  This set provides the ability for qemu to comminucate
>> to the guest that it has been stopped.  When the guest hits the watchdog on
>> resume it will check if it was suspended before issuing the warning.
>>
>> Eric B Munson (4):
>>   Add flag to indicate that a vm was stopped by the host
>>   Add functions to check if the host has stopped the vm
>>   Add generic stubs for kvm stop check functions
>>   Add check for suspended vm in softlockup detector
>>
>>  arch/x86/include/asm/pvclock-abi.h |    1 +
>>  arch/x86/include/asm/pvclock.h     |    2 ++
>>  arch/x86/kernel/kvmclock.c         |   14 ++++++++++++++
>>  include/asm-generic/pvclock.h      |   14 ++++++++++++++
>>  kernel/watchdog.c                  |   12 ++++++++++++
>>  5 files changed, 43 insertions(+), 0 deletions(-)
>>  create mode 100644 include/asm-generic/pvclock.h
>>
>> --
>> 1.7.4.1
>
> How is the host supposed to set this flag?

The hypervisor will set the flag (the second bit in the struct
pvclock_vcpu_time_info.flags field) when it stops the guest.  I could
be reading pvclock-abi.h incorrectly, but the way I understand it is
that this structure is used to communicate between hypervisor and
guest.

>
> As mentioned previously, if you save save/restore the offset added to
> kvmclock on stop/cont (and the TSC MSR, forgot to mention that), no
> paravirt infrastructure is required. Which means the issue is also fixed
> for older guests.
>
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux