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