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

Kleber Souza kleber.souza at canonical.com
Thu Sep 27 14:57:30 UTC 2018


On 09/10/18 16:23, Gavin Guo wrote:
> 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(-)
> 

All clean cherry-picks and tested.

Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>




More information about the kernel-team mailing list