public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] arm/arm64: KVM: Add support for page aging
@ 2015-01-21 18:42 Marc Zyngier
  2015-01-21 18:42 ` [PATCH 1/3] arm/arm64: KVM: Allow handle_hva_to_gpa to return a value Marc Zyngier
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Marc Zyngier @ 2015-01-21 18:42 UTC (permalink / raw)
  To: Christoffer Dall, kvm, kvmarm; +Cc: Steve Capper

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 3.19-rc5, tested on Seattle and X-Gene.

Also at git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/mm-fixes-3.19

Marc Zyngier (3):
  arm/arm64: KVM: Allow handle_hva_to_gpa to return a value
  arm/arm64: KVM: Implement Stage-2 page aging
  arm/arm64: KVM: Optimize handling of Access Flag faults

 arch/arm/include/asm/kvm_host.h   |  13 +---
 arch/arm/kvm/mmu.c                | 128 +++++++++++++++++++++++++++++++++++---
 arch/arm/kvm/trace.h              |  48 ++++++++++++++
 arch/arm64/include/asm/kvm_arm.h  |   1 +
 arch/arm64/include/asm/kvm_host.h |  13 +---
 5 files changed, 171 insertions(+), 32 deletions(-)

-- 
2.1.4


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-03-12 15:07 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-21 18:42 [PATCH 0/3] arm/arm64: KVM: Add support for page aging Marc Zyngier
2015-01-21 18:42 ` [PATCH 1/3] arm/arm64: KVM: Allow handle_hva_to_gpa to return a value Marc Zyngier
2015-03-12 11:40   ` Christoffer Dall
2015-01-21 18:42 ` [PATCH 2/3] arm/arm64: KVM: Implement Stage-2 page aging Marc Zyngier
2015-03-12 11:40   ` Christoffer Dall
2015-03-12 14:50     ` Marc Zyngier
2015-01-21 18:42 ` [PATCH 3/3] arm/arm64: KVM: Optimize handling of Access Flag faults Marc Zyngier
2015-03-12 11:40   ` Christoffer Dall
2015-03-12 15:04     ` Marc Zyngier
2015-03-12 15:07     ` Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox