[Qemu-devel] [PATCHv6 0/5] HPT resizing for pseries guests (qemu part)

David Gibson posted 5 patches 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170512050451.9979-1-david@gibson.dropbear.id.au
Test checkpatch failed
Test docker passed
Test s390x passed
hw/ppc/spapr.c              | 105 ++++++++++-
hw/ppc/spapr_hcall.c        | 430 ++++++++++++++++++++++++++++++++++++++++++++
hw/ppc/trace-events         |   2 +
include/hw/ppc/spapr.h      |  19 ++
include/hw/ppc/spapr_ovec.h |   1 +
target/ppc/kvm.c            |  75 ++++++++
target/ppc/kvm_ppc.h        |  26 +++
target/ppc/mmu-hash64.h     |   4 +
8 files changed, 654 insertions(+), 8 deletions(-)
[Qemu-devel] [PATCHv6 0/5] HPT resizing for pseries guests (qemu part)
Posted by David Gibson 6 years, 11 months ago
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 are upstream as of v4.11.

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.  HV KVM
requires support in the host kernel which is also included in v4.11.

Changes since v5:
 * Rebase for qemu-2.10
 * Kernel patches now merged
 * Removed an unnecessary and possibly dangerous assert()
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 (5):
  pseries: Stubs for HPT resizing
  pseries: Implement HPT resizing
  pseries: Enable HPT resizing for 2.10
  pseries: Use smaller default hash page tables when guest can resize
  pseries: Allow HPT resizing with KVM

 hw/ppc/spapr.c              | 105 ++++++++++-
 hw/ppc/spapr_hcall.c        | 430 ++++++++++++++++++++++++++++++++++++++++++++
 hw/ppc/trace-events         |   2 +
 include/hw/ppc/spapr.h      |  19 ++
 include/hw/ppc/spapr_ovec.h |   1 +
 target/ppc/kvm.c            |  75 ++++++++
 target/ppc/kvm_ppc.h        |  26 +++
 target/ppc/mmu-hash64.h     |   4 +
 8 files changed, 654 insertions(+), 8 deletions(-)

-- 
2.9.3


Re: [Qemu-devel] [PATCHv6 0/5] HPT resizing for pseries guests (qemu part)
Posted by no-reply@patchew.org 6 years, 11 months ago
Hi,

This series seems to have some coding style problems. See output below for
more information:

Message-id: 20170512050451.9979-1-david@gibson.dropbear.id.au
Subject: [Qemu-devel] [PATCHv6 0/5] HPT resizing for pseries guests (qemu part)
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
bc86869 pseries: Allow HPT resizing with KVM
1b07d16 pseries: Use smaller default hash page tables when guest can resize
5b59386 pseries: Enable HPT resizing for 2.10
61cecbb pseries: Implement HPT resizing
fe4fe32 pseries: Stubs for HPT resizing

=== OUTPUT BEGIN ===
Checking PATCH 1/5: pseries: Stubs for HPT resizing...
WARNING: line over 80 characters
#278: FILE: target/ppc/kvm.c:2719:
+    error_setg(errp, "Hash page table resizing not available with this KVM version");

total: 0 errors, 1 warnings, 239 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 2/5: pseries: Implement HPT resizing...
ERROR: spaces required around that '/' (ctx:VxV)
#237: FILE: hw/ppc/spapr_hcall.c:516:
+    stq_p(addr + HASH_PTE_SIZE_64/2, pte1);
                                  ^

ERROR: spaces required around that '*' (ctx:WxV)
#339: FILE: hw/ppc/spapr_hcall.c:618:
+        hwaddr ptex = pteg *HPTES_PER_GROUP;
                            ^

total: 2 errors, 0 warnings, 401 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 3/5: pseries: Enable HPT resizing for 2.10...
Checking PATCH 4/5: pseries: Use smaller default hash page tables when guest can resize...
Checking PATCH 5/5: pseries: Allow HPT resizing with KVM...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org