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

From: Anthony Liguori
Date: Thu Sep 01 2011 - 15:24:21 EST


On 08/30/2011 07:26 AM, Marcelo Tosatti 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?

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.

IIRC, the steal time patches have some logic that basically say:

if there was steal time:
kick soft lockup detector

I wonder if that serves this purpose provided that time spent in stop is accounted as steal time. If it isn't, perhaps it should be?

Regards,

Anthony Liguori

--
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

--
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/