Bug 1308744 - [RFE] PAPR Hash Page Table (HPT) resizing (RHEV) [blocked on platform bugs]
[RFE] PAPR Hash Page Table (HPT) resizing (RHEV) [blocked on platform bugs]
Status: NEW
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: RFEs (Show other bugs)
ppc64le Unspecified
unspecified Severity medium
: ---
: ---
Assigned To: Rob Young
Gil Klein
: FutureFeature
: 1308746 (view as bug list)
Depends On: 1305398 1308743
Blocks: 1284775 1444027 1248279
  Show dependency treegraph
Reported: 2016-02-15 17:33 EST by Karen Noel
Modified: 2017-09-28 04:41 EDT (History)
20 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 1308743
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: Virt
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 2788261 None None None 2016-11-30 20:15 EST

  None (edit)
Description Karen Noel 2016-02-15 17:33:13 EST
RHEV should determine if the guest supports HPT resizing, then increase the default max size of memory.

+++ This bug was initially created as a clone of Bug #1308743 +++

In case libvirt requires changes to support HPT resizing. If no changes required, set this BZ to TestOnly.

+++ This bug was initially created as a clone of Bug #1305398 +++

Description of problem:

Allow the hash page table (HPT) of PAPR guests to be resized at runtime.

This is important for practical memory hotplug.  Without this the HPT needs to be sized for the guest's maximum possible memory - since RHEV wants to set that to 4T, this can result in a much bigger than necessary HPT which wastes host resources and can cause allocation failures.  With HV KVM the HPT is unswappable, contiguous host memory.

This BZ covers the qemu parts of this including TCG and PR KVM implementation of the necessary hypercalls, feature negotation with the guest and enabling the necessary KVM host pieces.

--- Additional comment from David Gibson on 2016-02-07 19:52:00 EST ---

An RFC has been posted upstream:

Comment 1 Karen Noel 2016-02-15 17:40:31 EST
*** Bug 1308746 has been marked as a duplicate of this bug. ***
Comment 2 David Gibson 2016-02-15 21:58:45 EST
The resize-hpt=required machine option in qemu might be useful for RHEV to determine if the guest supports HPT resizing.  With that option qemu will refuse to boot a guest which does not support it (exiting with an error during boot).

So, RHEV could boot with that option, then if the boot fails adjust the max memory size down and restart with without the option to run the non-HPT-resize aware guest.

Obviously RHEV might then want to cache the value, and/or pre-populate it when it knows the distro / version of the guest.
Comment 5 David Gibson 2017-09-12 20:55:02 EDT
Note that the necessary qemu and kvm parts for this are now merged downstream.

That least only libvirt work as a prerequisite (which should be relatively simple) to use this in RHV.

Note You need to log in before you can comment on or make changes to this bug.