** Changed in: linux (Ubuntu)
       Status: Incomplete => Fix Released

** Changed in: linux (Ubuntu)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Trusty)
   Importance: Undecided => Medium

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1791286

Title:
  The VM hang happens because of pending interrupts not reinjected when
  migrating the VM several times

Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Trusty:
  Fix Released

Bug description:
  [Impact]

  After the VM(Guest OS is Windows Server 2012R2) has been live-migrated
  several times, the screen is blacked out 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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1791286/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to