2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 12:43:55 +08:00
linux-next/arch/arm
Marc Zyngier 35307b9a5f arm/arm64: KVM: Implement Stage-2 page aging
Until now, KVM/arm didn't care much for page aging (who was swapping
anyway?), and simply provided empty hooks to the core KVM code. With
server-type systems now being available, things are quite different.

This patch implements very simple support for page aging, by clearing
the Access flag in the Stage-2 page tables. On access fault, the current
fault handling will write the PTE or PMD again, putting the Access flag
back on.

It should be possible to implement a much faster handling for Access
faults, but that's left for a later patch.

With this in place, performance in VMs is degraded much more gracefully.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2015-03-12 22:34:43 +01:00
..
boot ARM: SoC fixes for 3.20-rc1 2015-02-21 19:21:54 -08:00
common
configs ARM: SoC defconfig changes 2015-02-17 09:44:50 -08:00
crypto
firmware
include arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
kernel arm/arm64: KVM: Kill CONFIG_KVM_ARM_{VGIC,TIMER} 2015-03-12 15:15:27 +01:00
kvm arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
lib ARM: 8285/1: remove ARMv3 user access code again 2015-01-16 14:49:08 +00:00
mach-asm9260
mach-at91 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-axxia ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-bcm ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-berlin
mach-clps711x
mach-cns3xxx Merge branch 'pci/config' into next 2015-02-02 14:49:29 -06:00
mach-davinci ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-digicolor ARM: digicolor: select syscon and timer 2015-01-29 13:52:06 -08:00
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-footbridge
mach-gemini
mach-highbank ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-hisi ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-imx ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-integrator ARM: integrator: Convert PCI to use generic config accessors 2015-01-29 08:34:42 -06:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx ARM: ixp4xx: fix {in,out}s{bwl} data types 2015-02-18 12:20:27 +01:00
mach-keystone ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-ks8695 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-12 08:51:56 -08:00
mach-lpc32xx
mach-mediatek ARM: mediatek: Add config options for mediatek SoCs. 2015-01-20 17:49:10 +01:00
mach-meson
mach-mmp ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-moxart
mach-msm
mach-mv78xx0
mach-mvebu ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-mxs
mach-netx ARM: 8272/1: netx: Migrate DEBUG_LL macros to shared directory 2015-01-21 15:49:40 +00:00
mach-nomadik
mach-nspire ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-omap1 ARM: SoC cleanups 2015-02-17 09:17:33 -08:00
mach-omap2 ARM: SoC fixes for 3.20-rc1 2015-02-21 19:21:54 -08:00
mach-orion5x
mach-picoxcell
mach-prima2 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-pxa ARM: SoC cleanups 2015-02-17 09:17:33 -08:00
mach-qcom ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
mach-realview arm: realview: specify PMU types 2015-02-06 00:12:55 -08:00
mach-rockchip ARM: rockchip: force built-in regulator support for PM 2015-02-18 12:20:30 +01:00
mach-rpc
mach-s3c24xx ARM: SAMSUNG: remove unused DMA infrastructure 2015-01-24 13:09:54 +09:00
mach-s3c64xx ARM: SAMSUNG: remove unused DMA infrastructure 2015-01-24 13:09:54 +09:00
mach-s5pv210 ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-sa1100 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-12 08:51:56 -08:00
mach-shmobile ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-socfpga
mach-spear
mach-sti ARM: sti: always enable RESET_CONTROLLER 2015-02-18 12:20:29 +01:00
mach-sunxi
mach-tegra The clock framework changes for 3.20 contain the usual driver additions, 2015-02-21 12:30:30 -08:00
mach-u300
mach-ux500 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-versatile ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-vexpress ARM: vexpress: use ARM_CPU_SUSPEND if needed 2015-02-18 12:19:09 +01:00
mach-vt8500
mach-w90x900
mach-zynq ARM: zynq: Simplify SLCR initialization 2015-01-29 15:38:17 +01:00
mm Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-22 09:57:16 -08:00
net
nwfpe
oprofile
plat-iop arm: iop: specify PMUs are for XScale CPUs 2015-02-06 00:12:59 -08:00
plat-omap
plat-orion
plat-pxa
plat-samsung ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
plat-versatile
probes ARM: kprobes: Fix compilation error caused by superfluous '*' 2015-02-10 15:05:30 +08:00
tools
vfp
xen xen/grant-table: pre-populate kernel unmap ops for xen_gnttab_unmap_refs() 2015-01-28 14:03:10 +00:00
Kconfig ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
Kconfig-nommu
Kconfig.debug ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
Makefile