On Tue, 30 Aug 2011 15:36:13 -0300, Marcelo Tosatti wrote:
On Tue, Aug 30, 2011 at 10:37:13AM -0600, Eric B Munson wrote:
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.
Yes, its awkward though (to have an interface to modify a bit in
pvclock->flags from QEMU).
Anyway, it appears that all elements to fix this in QEMU without the
need for a paravirt interface are available... did you look into my
suggestion?
I have not yet, but will look into it. I sent these out because I was
under the impression that there was some discussion at LinuxCon about
your suggestion and that it was agreed that the all user space solution
was not feasible.
> 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