On 2012-01-27 21:48, Anthony Liguori wrote: > On 01/17/2012 12:27 PM, Eric B Munson wrote: >> Often when a guest is stopped from the qemu console, it will report >> spurious >> soft lockup warnings on resume. There are kernel patches being >> discussed that >> will give the host the ability to tell the guest that it is being >> stopped and >> should ignore the soft lockup warning that generates. This patch uses >> the qemu >> Notifier system to tell the guest it is about to be stopped. >> >> Signed-off-by: Eric B Munson<emunson@xxxxxxxxx> >> >> Cc: Avi Kivity<avi@xxxxxxxxxx> >> Cc: Marcelo Tosatti<mtosatti@xxxxxxxxxx> >> Cc: Jan Kiszka<jan.kiszka@xxxxxxxxxxx> >> Cc: ryanh@xxxxxxxxxxxxxxxxxx >> Cc: aliguori@xxxxxxxxxx >> Cc: kvm@xxxxxxxxxxxxxxx >> --- >> Changes from V6: >> Remove unnecessary include >> >> Changes from V5: >> KVM_GUEST_PAUSED is now a per vm ioctl instead of per vcpu >> >> Changes from V4: >> Test if the guest paused capability is available before use >> >> Changes from V3: >> Collapse new state change notification function into existsing >> function. >> Correct whitespace issues >> Change ioctl name to KVMCLOCK_GUEST_PAUSED >> Use for loop to iterate vpcu's >> >> Changes from V2: >> Move ioctl into hw/kvmclock.c so as other arches can use it as it is >> implemented >> >> Changes from V1: >> Remove unnecessary encapsulating function >> >> hw/kvmclock.c | 11 +++++++++++ >> 1 files changed, 11 insertions(+), 0 deletions(-) >> >> diff --git a/hw/kvmclock.c b/hw/kvmclock.c >> index 3b9fb20..ad79f52 100644 >> --- a/hw/kvmclock.c >> +++ b/hw/kvmclock.c >> @@ -64,10 +64,21 @@ static int kvmclock_post_load(void *opaque, int >> version_id) >> static void kvmclock_vm_state_change(void *opaque, int running, >> RunState state) >> { >> + int ret; >> KVMClockState *s = opaque; >> + int cap_guest_paused = kvm_check_extension(kvm_state, >> KVM_CAP_GUEST_PAUSED); >> >> if (running) { >> s->clock_valid = false; >> + >> + if (!cap_guest_paused) { >> + return; >> + } >> + >> + ret = kvm_vm_ioctl(kvm_state, KVMCLOCK_GUEST_PAUSED, 0); >> + if (ret) { >> + fprintf(stderr, "kvmclock_vm_state_change: %s\n", >> strerror(-ret)); >> + } >> } >> } > > > This change looks harmless enough. Yep, but needs to be redirected after the file renaming in upstream. > What's the state of the kernel > bits? I would expect this through uq/master. Kernel bits aren't merged yet. And the kernel headers will have to be updated in a previous step. BTW, this series [1] would be nice to have. Dunno if there is a pull planned, but anyone trying to extend the KVM interface current runs against this. Jan [1] http://thread.gmane.org/gmane.comp.emulators.qemu/132962
Attachment:
signature.asc
Description: OpenPGP digital signature