Thread (24 messages) flat view 24 messages, 6 authors, 2011-09-21

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

From: <hidden>
Date: 2011-09-01 20:28:01
Also in: kvm, lkml

 On Thu, 01 Sep 2011 14:24:12 -0500, Anthony Liguori wrote:
On 08/30/2011 07:26 AM, Marcelo Tosatti wrote:
quoted
On Mon, Aug 29, 2011 at 05:27:11PM -0600, Eric B Munson wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help