Hello all,

I am doing a KVM-TCG migration of VMState as follows.

I start the QEMU process in KVM mode using the below command line -

*sudo ./qemu-system-x86_64 -m 1024 --machine pc-i440fx-2.5 -netdev
tap,id=tap1,ifname=tap0,script=no,downscript=no --accel kvm -device
virtio-net-pci,netdev=tap1,mac=00:00:00:00:00:00 -drive
file=~/os_images_for_qemu/ubuntu-16.04.server.qcow2,format=qcow2,if=none,id=img-direct
-device virtio-blk-pci,drive=img-direct*

I run an application in the VM and then after a while, I run the below
commands in the QEMU monitor to save the VMState -

*stop -> savevm ->  c*

I load the saved VMState in TCG mode, using the below command line



*sudo ./qemu-system-x86_64 -m 1024 --machine pc-i440fx-2.5 -netdev
tap,id=tap1,ifname=tap0,script=no,downscript=no --accel tcg -device
virtio-net-pci,netdev=tap1,mac=00:00:00:00:00:00 -drive
file=~/os_images_for_qemu/ubuntu-16.04.server.qcow2,format=qcow2,if=none,id=img-direct
-device virtio-blk-pci,drive=img-direct -loadvm vm-20200929234419*
I see that the VM in TCG mode gets stuck and after observation, I see that
the TCG mode encounters a PAGE FAULT in the below sequence of function
calls-



*hrtimer_interrupt -> _hrtimer_run_queues -> remove_hrtimer  ->
timerqueue_del  -> rb_next (fault)*

I have 2 questions to ask-

1. Is it possible that the savevm operation in KVM mode does not copy
the state of the
timerqueues associated with a particular clock correctly in memory ?

2. Or am I missing some hardware configuration in TCG (or KVM) that
does not allow the TCG mode
to read the timerqueue details correctly ?

Note:

I am running QEMU-3.0. The guest is a Linux kernel with version
4.4.0-116-generic. The host
and guest architecture is x86_64.

 Best Regards,
Arnab

Reply via email to