[PATCH v13 0/7] KVM/arm/x86: dirty page logging support for ARMv7 (3.17.0-rc1)

2014-11-06 Thread Mario Smarduch
Patch series adds support for ARMv7 and generic dirty page logging support. As we try to move towards generic dirty page logging additional logic is moved to generic code. Initially armv7 KVM_GET_DIRTY_LOG ioctl reuses generic code, to be followed by armv8 and x86. Testing: - Generally live

[PATCH v13 1/7] KVM: Add architecture-defined TLB flush support

2014-11-06 Thread Mario Smarduch
Allow architectures to override the generic kvm_flush_remote_tlbs() function via HAVE_KVM_ARCH_TLB_FLUSH_ALL. ARMv7 will need this to provide its own TLB flush interface. Reviewed-by: Paolo Bonzini pbonz...@redhat.com Signed-off-by: Mario Smarduch m.smard...@samsung.com --- virt/kvm/Kconfig|

[PATCH v13 2/7] KVM: Add generic support for dirty page logging

2014-11-06 Thread Mario Smarduch
kvm_get_dirty_log() provides generic handling of dirty bitmap, currently reused by several architectures. Building on that we intrdoduce kvm_get_dirty_log_protect() adding write protection to mark these pages dirty for future write access, before next KVM_GET_DIRTY_LOG ioctl call from user space.

[PATCH v13 3/7] KVM: x86: flush TLBs last before returning from KVM_GET_DIRTY_LOG

2014-11-06 Thread Mario Smarduch
In the next patches, we will move parts of x86's kvm_vm_ioctl_get_dirty_log implementation to generic code; leave the arch-specific code at the end, similar to the existing generic function kvm_get_dirty_log. Reviewed-by: Mario Smarduch m.smard...@samsung.com Signed-off-by: Paolo Bonzini

[PATCH v13 4/7] arm: KVM: Add ARMv7 API to flush TLBs

2014-11-06 Thread Mario Smarduch
This patch adds ARMv7 architecture TLB Flush function. Acked-by: Christoffer Dall christoffer.dall at linaro.org Signed-off-by: Mario Smarduch m.smard...@samsung.com --- arch/arm/include/asm/kvm_asm.h |1 + arch/arm/include/asm/kvm_host.h | 12 arch/arm/kvm/Kconfig

[PATCH v13 5/7] arm: KVM: Add initial dirty page locking infrastructure

2014-11-06 Thread Mario Smarduch
Add support for initial write protection of VM memlsot. This patch series assumes that huge PUDs will not be used in 2nd stage tables, which is awlays valid on ARMv7. Signed-off-by: Mario Smarduch m.smard...@samsung.com --- arch/arm/include/asm/kvm_host.h |2 +

[PATCH v13 6/7] arm: KVM: dirty log read write protect support

2014-11-06 Thread Mario Smarduch
Add support to track dirty pages between user space KVM_GET_DIRTY_LOG ioctl calls. We call kvm_get_dirty_log_protect() function to do most of the work. Signed-off-by: Mario Smarduch m.smard...@samsung.com --- arch/arm/kvm/arm.c | 37 + arch/arm/kvm/mmu.c |

[PATCH v13 7/7] arm: KVM: ARMv7 dirty page logging 2nd stage page fault

2014-11-06 Thread Mario Smarduch
This patch adds support for handling 2nd stage page faults during migration, it disables faulting in huge pages, and dissolves huge pages to page tables. In case migration is canceled huge pages are used again. Reviewed-by: Christoffer Dall christoffer.dall at linaro.org Signed-off-by: Mario

Re: [PATCH v13 6/7] arm: KVM: dirty log read write protect support

2014-11-06 Thread Paolo Bonzini
On 07/11/2014 01:40, Mario Smarduch wrote: Add support to track dirty pages between user space KVM_GET_DIRTY_LOG ioctl calls. We call kvm_get_dirty_log_protect() function to do most of the work. Signed-off-by: Mario Smarduch m.smard...@samsung.com --- arch/arm/kvm/arm.c | 37

Re: [PATCH v13 3/7] KVM: x86: flush TLBs last before returning from KVM_GET_DIRTY_LOG

2014-11-06 Thread Paolo Bonzini
On 07/11/2014 01:40, Mario Smarduch wrote: In the next patches, we will move parts of x86's kvm_vm_ioctl_get_dirty_log implementation to generic code; leave the arch-specific code at the end, similar to the existing generic function kvm_get_dirty_log. Reviewed-by: Mario Smarduch