qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: paulus@samba.org, sjitindarsingh@gmail.com
Cc: thuth@redhat.com, lvivier@redhat.com, agraf@suse.de,
	mdroth@linux.vnet.ibm.com, qemu-ppc@nongnu.org,
	qemu-devel@nongnu.org, David Gibson <david@gibson.dropbear.id.au>
Subject: [Qemu-devel] [PATCHv5 for 2.9 0/6] HPT resizing for pseries guests (qemu part)
Date: Tue, 20 Dec 2016 16:58:51 +1100	[thread overview]
Message-ID: <20161220055857.9674-1-david@gibson.dropbear.id.au> (raw)

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.

This implementation will work for both TCG and KVM guests, but HV KVM
guests will require host kernel patches posted at:

https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-December/152473.html

Patch 6/6 can be considered RFC - it can't really be merged until the
host kernel support is merged and we can update our header copies.
The rest I'm hoping are ready to stage to be merged as soon as
qemu-2.9 opens.

Changes since v4 (misposted as v3):
 * More minor revisions based on review comments
 * Altered to use new simpler encoding of kernel capability
Changes since v3:
 * Assorted minor revisions based on review
 * Added KVM support (PR and HV)
Changes since v2:
 * Some clearer comments based on review
 * Some minor cleanups based on review

David Gibson (6):
  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
  pseries: Allow HPT resizing with KVM

 hw/ppc/spapr.c              | 126 +++++++++++-
 hw/ppc/spapr_hcall.c        | 464 ++++++++++++++++++++++++++++++++++++++++++++
 hw/ppc/trace-events         |   2 +
 include/hw/compat.h         |   3 +
 include/hw/ppc/spapr.h      |  19 ++
 include/hw/ppc/spapr_ovec.h |   1 +
 linux-headers/linux/kvm.h   |  11 ++
 target-ppc/kvm.c            |  51 +++++
 target-ppc/kvm_ppc.h        |  19 ++
 target-ppc/mmu-hash64.h     |   4 +
 10 files changed, 690 insertions(+), 10 deletions(-)

-- 
2.9.3

             reply	other threads:[~2016-12-20  5:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-20  5:58 David Gibson [this message]
2016-12-20  5:58 ` [Qemu-devel] [PATCHv5 for 2.9 1/6] pseries: Add pseries-2.9 machine type David Gibson
2016-12-20  5:58 ` [Qemu-devel] [PATCHv5 for 2.9 2/6] pseries: Stubs for HPT resizing David Gibson
2016-12-20  5:58 ` [Qemu-devel] [PATCHv5 for 2.9 3/6] pseries: Implement " David Gibson
2016-12-21  2:55   ` Suraj Jitindar Singh
2016-12-20  5:58 ` [Qemu-devel] [PATCHv5 for 2.9 4/6] pseries: Enable HPT resizing for 2.9 David Gibson
2016-12-20  5:58 ` [Qemu-devel] [PATCHv5 for 2.9 5/6] pseries: Use smaller default hash page tables when guest can resize David Gibson
2016-12-20  5:58 ` [Qemu-devel] [PATCHv5 for 2.9 6/6] pseries: Allow HPT resizing with KVM David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161220055857.9674-1-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=agraf@suse.de \
    --cc=lvivier@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=paulus@samba.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=sjitindarsingh@gmail.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).