On 04/08/2015 06:46 PM, Paolo Bonzini wrote:
On 08/04/2015 08:34, Xiao Guangrong wrote:
We noticed that KVM keeps tracking dirty for the memslots when
live migration failed which causes bad performance due to huge
page mapping disallowed for this kind of memslot
It is caused by slot flags does not properly sync-ed between Qemu
and KVM. Current code doing slot update depends on slot->flags
which hopes to omit unnecessary ioctl. However, slot->flags only
reflects the stauts of corresponding memory region, vmsave and
live migration do dirty tracking which overset
KVM_MEM_LOG_DIRTY_PAGES for the slot. That causes the slot status
recorded in the flags does not exactly match the stauts in kernel.
We fixed it by introducing slot->is_dirty_logging which indicates
the dirty status in kernel so that it helps us to sync the status
between userspace and kernel
Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx>
Hi Xiao,
the patch looks good.
However, I am planning to remove s->migration_log completely from QEMU
2.4 and have slot->flags also track the migration state. This has the
side effect of fixing this bug. I'll Cc you on the patches when I post
them (next week probably).
Good to know it, look forward to your patches. Thank you, Paolo!
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html