From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Smarduch Subject: [PATCH 0/5] live migration dirty bitmap support for ARMv7 Date: Wed, 16 Apr 2014 18:32:22 -0700 Message-ID: <534F2F26.5040706@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: "kvm@vger.kernel.org" , =?UTF-8?B?7J207KCV7ISd?= , =?UTF-8?B?7KCV7ISx7KeE?= To: "kvmarm@lists.cs.columbia.edu" , Marc Zyngier , "christoffer.dall@linaro.org" Return-path: Received: from mailout1.w2.samsung.com ([211.189.100.11]:21320 "EHLO usmailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751262AbaDQBc1 (ORCPT ); Wed, 16 Apr 2014 21:32:27 -0400 Received: from uscpsbgex4.samsung.com (u125.gpu85.samsung.co.kr [203.254.195.125]) by mailout1.w2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N4500FSRIY1YWB0@mailout1.w2.samsung.com> for kvm@vger.kernel.org; Wed, 16 Apr 2014 21:32:25 -0400 (EDT) Sender: kvm-owner@vger.kernel.org List-ID: Revised iteration after initial comments. Still just for ARMv7. I looked at the ARMv8 code and yes it practically appears to reuse most of fault handling in ARMv7, I wasn't aware so much code was in common. But before then want to make sure it's reliable on real hardware. This patch adds support for ARMv7 Live Migration, primarily dirty bit map management is added. The patch follows the normal migration flow managed by user space, first write protecting the entire address space and later keeping track of dirty pages. In the process of initial write protection, and first time faults huge pages are broken up into small pages to support migration on loaded systems. Mario Smarduch (5): add ARMv7 HYP API to flush VM TLBs without address param live migration support for initial write protect of VM to manage dirty pages live migration support for VM dirty log management add 2nd stage page fault handling during live migration add kvm_arch glogal live migration variable arch/arm/include/asm/kvm_asm.h | 1 + arch/arm/include/asm/kvm_host.h | 7 ++ arch/arm/kvm/arm.c | 75 ++++++++++++- arch/arm/kvm/interrupts.S | 5 + arch/arm/kvm/mmu.c | 220 ++++++++++++++++++++++++++++++++++++++- 5 files changed, 305 insertions(+), 3 deletions(-) -- 1.7.9.5