qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCHv3 0/5] Hash Page Table resizing for TCG pseries guests
@ 2016-12-12  4:05 David Gibson
  2016-12-12  4:05 ` [Qemu-devel] [PATCHv3 1/5] pseries: Add pseries-2.9 machine type David Gibson
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: David Gibson @ 2016-12-12  4:05 UTC (permalink / raw)
  To: paulus, sjitindarsingh
  Cc: agraf, mdroth, thuth, lvivier, qemu-ppc, qemu-devel, David Gibson

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.

Changes since v2:
 * Some clearer comments based on review
 * Some minor cleanups based on review 

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              | 126 ++++++++++++--
 hw/ppc/spapr_hcall.c        | 407 ++++++++++++++++++++++++++++++++++++++++++++
 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            |  25 +++
 target-ppc/kvm_ppc.h        |   5 +
 target-ppc/mmu-hash64.h     |   4 +
 9 files changed, 582 insertions(+), 10 deletions(-)

-- 
2.9.3

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

end of thread, other threads:[~2016-12-15  1:08 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-12  4:05 [Qemu-devel] [PATCHv3 0/5] Hash Page Table resizing for TCG pseries guests David Gibson
2016-12-12  4:05 ` [Qemu-devel] [PATCHv3 1/5] pseries: Add pseries-2.9 machine type David Gibson
2016-12-12  4:06 ` [Qemu-devel] [PATCHv3 2/5] pseries: Stubs for HPT resizing David Gibson
2016-12-13 14:29   ` Laurent Vivier
2016-12-14  6:12     ` David Gibson
2016-12-14  5:22   ` Suraj Jitindar Singh
2016-12-15  1:07     ` David Gibson
2016-12-12  4:06 ` [Qemu-devel] [PATCHv3 3/5] pseries: Implement " David Gibson
2016-12-14  5:30   ` Suraj Jitindar Singh
2016-12-14  6:20     ` David Gibson
2016-12-14 23:20       ` Suraj Jitindar Singh
2016-12-15  0:59     ` David Gibson
2016-12-14  5:35   ` Suraj Jitindar Singh
2016-12-15  1:03     ` David Gibson
2016-12-12  4:06 ` [Qemu-devel] [PATCHv3 4/5] pseries: Enable HPT resizing for 2.9 David Gibson
2016-12-14  5:32   ` Suraj Jitindar Singh
2016-12-14  6:20     ` David Gibson
2016-12-14 23:08       ` Suraj Jitindar Singh
2016-12-12  4:06 ` [Qemu-devel] [PATCHv3 5/5] pseries: Use smaller default hash page tables when guest can resize David Gibson
2016-12-14  5:56   ` Suraj Jitindar Singh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).