Skip to contentSkip to conversation

live migration dirty bitmap support for ARMv7

PATCH Superseded Mario Smarduch 1 participant 1 message Apr 22, 2014 KVM

v3 of 11 Superseded Latest is v11 →

lore
Share & tools
lore
#0 lore raw

v3 cover live migration dirty bitmap support for ARMv7

Hi,
this the third iteration of live migration support for the time being on
ARMv7. The patches depend on Eric Augers patch for memory regions.

Changes since v2:
- move initial VM write protect to memory region architecture prepare function (needed to make dirty logging function generic)
- added stage2_mark_pte_ro() - to mark ptes ro - Marc's comment
- optimized initial VM memory region write protect to do fewer table lookups - applied Marc's comment for walking dirty bitmap mask
- added pud_addr_end() for stage2 tables, to make the walk 4-level
- added kvm_flush_remote_tlbs() to use ARM TLB invalidation, made the generic one weak, Marc's comment to for generic dirty bitmap log function
- optimized walking dirty bit map mask to skip upper tables - Marc's comment
- deleted x86,arm kvm_vm_ioctl_get_dirty_log(), moved to kvm_main.c tagged the function weak - Marc's comment
- changed Data Abort handler pte index handling - Marc's comment

Mario Smarduch (4):
add ARMv7 HYP API to flush VM TLBs without address param live migration support for initial write protect of VM to track dirty
pages
live migration support for VM dirty log management
add 2nd stage page fault handling during live migration

 arch/arm/include/asm/kvm_asm.h  |    1 +
 arch/arm/include/asm/kvm_host.h |   13 ++
 arch/arm/kvm/arm.c              |    8 +-
 arch/arm/kvm/interrupts.S       |    5 +
 arch/arm/kvm/mmu.c              |  303 ++++++++++++++++++++++++++++++++++++++-
 arch/x86/kvm/x86.c              |   78 ----------
 virt/kvm/kvm_main.c             |   87 ++++++++++-
 7 files changed, 409 insertions(+), 86 deletions(-)
Signature · 1 line
1.7.9.5