This series implements the host side of the PAPR ACR to allow runtime resizing of the Hashed Page Table (HPT) for pseries guests. Exercising this feature requires a guest OS which is also aware of it. Patches to implement the guest side in Linux have just been submitted upstream:
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-December/152164.html Availability of the feature is controlled by a new 'resize-hpt' machine option: it can be set to "disabled", "enabled" or "required". The last means that qemu will refuse to boot a guest which is not aware of the HPT resizing feature (it will instead quit during feature negotiation). This is potentially useful because guests which don't support resizing will need an HPT sized for their maximum possible RAM, which can be very wasteful of host resources. So far this is only tested for TCG guests. PR KVM guests should work in theory, but I haven't been able to test yet due to (probably unrelated) problems booting a suitable guest kernel. HV KVM guests will require substantial extra work in the host kernel; development is in progress. David Gibson (5): pseries: Add pseries-2.9 machine type pseries: Stubs for HPT resizing pseries: Implement HPT resizing pseries: Enable HPT resizing for 2.9 pseries: Use smaller default hash page tables when guest can resize hw/ppc/spapr.c | 117 +++++++++++-- hw/ppc/spapr_hcall.c | 408 ++++++++++++++++++++++++++++++++++++++++++++ hw/ppc/trace-events | 2 + include/hw/compat.h | 3 + include/hw/ppc/spapr.h | 19 +++ include/hw/ppc/spapr_ovec.h | 1 + target-ppc/kvm.c | 26 +++ target-ppc/kvm_ppc.h | 5 + target-ppc/mmu-hash64.h | 4 + 9 files changed, 575 insertions(+), 10 deletions(-) -- 2.9.3