[PATCH v2 0/3] arm/arm64: KVM: Add support for page aging

Christoffer Dall christoffer.dall at linaro.org
Thu Mar 12 14:40:34 PDT 2015


On Thu, Mar 12, 2015 at 06:16:49PM +0000, Marc Zyngier wrote:
> So far, KVM/arm doesn't implement any support for page aging, leading
> to rather bad performance when the system is swapping. This short
> series implements the required hooks and fault handling to deal with
> pages being marked old/young.
> 
> The three patches are fairly straightforward:
> 
> - First patch changes the range iterator to be able to return a value
> 
> - Second patch implements the actual page aging (clearing the AF bit
>   in the page tables, and relying on the normal faulting code to set
>   the bit again).
> 
> - Last patch optimizes the access fault path by only doing the minimum
>   to satisfy the fault.
> 
> The end result is a system that behaves visibly better under load, as
> VM pages don't get evicted that easily.
> 
> Based on 4.0-rc3, tested on Seattle and X-Gene.
> 
> Also at git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/page-aging
> 
> * From v1 [1]:
> - Removed all TLBIs from kvm_age_hva_handler, as the core KVM code
>   already does use quite a large hammer to nuke the TLBs on its own
> - Don't mark old a page that is already old
> - Rebased on top of 4.0-rc3
> 

Thanks, applied to queue!

-Christoffer



More information about the linux-arm-kernel mailing list