[PATCH 0/4] Fix for LP:#1791286

Gavin Guo gavin.guo at canonical.com
Mon Sep 10 14:23:38 UTC 2018


BugLink: https://bugs.launchpad.net/bugs/1791286

[Impact]

After the VM(Guest OS is Windows Server 2012R2) has been live-migrated
serveral times, the screen is blackout or freeze when the VM is
connected via VNC.

The Windows Guest OS Server has been investigated that all of kernel
threads of Windows Server OS are waiting(idle state) for interrupt
request(IRQ) from hypervisor.

The following environment is tested:
* Host OS: Ubuntu 14.04(kernel 3.13.0-40.69)
* qemu-kvm_2.0.0+dfsg-2ubuntu1.22
* libvert-bin_1.2.2-0ubuntu13.1.5
* nova-compute_1:2014.2.3-0ubuntu1.2~cloud0
* GuestOS: Windows Server 2012R2
* virtio-win-0.1.126


[Fix]

The patch set is needed:

673f7b4257a1 KVM: ioapic: reinject pending interrupts on KVM_SET_IRQCHIP
44847dea7975 KVM: ioapic: extract body of kvm_ioapic_set_irq
0bc830b05c66 KVM: ioapic: clear IRR for edge-triggered interrupts at delivery
0b10a1c87a2b KVM: ioapic: merge ioapic_deliver into ioapic_service


[Test]

Prepare two machines with the same environment mentioned above and run
the following script.

#!/bin/bash 
INSTANCE="test" 

FROM="elite" 
virsh -c qemu+ssh://ubuntu@${FROM}/system list| grep -q ${INSTANCE} 
if [[ $? != 0 ]]; then 
FROM="dixie"; 
TO="elite"; 
else 
TO="dixie" 
fi 

echo "= Migrating ${INSTANCE} from ${FROM} to ${TO} =" 
ssh ubuntu@${FROM} -- virsh migrate --live --domain ${INSTANCE}
--desturi qemu+ssh://ubuntu@${TO}/system 


The VNC script I use to keep track of the VNC console is: 

#!/bin/bash 
INSTANCE="test" 

while true; do 
HOST="elite" 
virsh -c qemu+ssh://ubuntu@${HOST}/system list| grep -q ${INSTANCE} 
if [[ $? != 0 ]]; then HOST="dixie"; fi 

virt-viewer -c qemu+ssh://ubuntu@${HOST}/system test 
sleep 3 
done 


Paolo Bonzini (4):
  KVM: ioapic: merge ioapic_deliver into ioapic_service
  KVM: ioapic: clear IRR for edge-triggered interrupts at delivery
  KVM: ioapic: extract body of kvm_ioapic_set_irq
  KVM: ioapic: reinject pending interrupts on KVM_SET_IRQCHIP

 virt/kvm/ioapic.c | 109 +++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 70 insertions(+), 39 deletions(-)

-- 
2.7.4





More information about the kernel-team mailing list