Messages in this thread | | | Date | Thu, 01 Sep 2011 14:27:49 -0600 | From | emunson@mgebm ... | Subject | Re: [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host |
| |
On Thu, 01 Sep 2011 14:24:12 -0500, Anthony Liguori wrote: > 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 >
I could be missing it, but I don't see anywhere in the steal time patches that kicks the watchdog.
Accounting stopped time as stolen time opens a possible problem when the accounting (CPU power modification) part is turned on. As a process accumulates steal time its CPU power is increased. If we account stopped time as stolen, it will do strange things with CPU power for that process. I believe that it is for this reason that patch 4 of Glauber's series explicitly states that halted time is not stolen time. Stolen time is only accumulated when a vCPU actually has work to do.
Eric
| |