From: Anushree Mathur <anushree.mathur2@ibm.com>
To: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>, kvm@vger.kernel.org
Cc: Sean Christopherson <seanjc@google.com>,
Paolo Bonzini <pbonzini@redhat.com>,
linuxppc-dev@lists.ozlabs.org,
Michael Ellerman <mpe@ellerman.id.au>,
Christophe Leroy <chleroy@kernel.org>,
Anushree Mathur <anushree.mathur@linux.ibm.com>,
Venkat Rao Bagalkote <venkat88@linux.ibm.com>,
Harsh Prateek Bora <harshpb@linux.ibm.com>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Shrikanth Hegde <sshegde@linux.ibm.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 0/9] KVM: selftests: add powerpc support
Date: Tue, 29 Sep 2026 11:19:34 +0530 [thread overview]
Message-ID: <a911b4fa-0127-4e0c-b75f-faa4fcd4bb87@ibm.com> (raw)
In-Reply-To: <cover.1790101179.git.ritesh.list@gmail.com>
On 22/09/26 11:58 PM, Ritesh Harjani (IBM) wrote:
> Patch v4 -> v5:
> ==============
> - Fixed the issues reported by Anushree while running on kvm on powervm
> (nested).
> - Fixed memslot_perf_test on powerpc.
>
> PATCH v3 -> PATCH v4:
> ==================
> - Rebased on top of Sean's new page allocator patch series v2 [1]
> This allowed to drop and patch-2 since it will now come from Sean's
> v2.
> - Addressed review comments from Sean - squashed patches 6-10 in patch-1 of
> this.
> - Dropped patch-5 to print vcpu_id when KVM_CREATE_VCPU ioctl fails.
> - Added additional patch-3 to this series to allow dirty_log_test to run on all
> big-endian machines.
>
> [1]: https://lore.kernel.org/kvm/20260902164123.2546762-1-seanjc@google.com/
> [v3]: https://lore.kernel.org/linuxppc-dev/2d2c46be7f051c7f1c645afaec67f57067d37a81.1781093720.git.ritesh.list@gmail.com/
>
> Testing updates:
> ================
> I have done some fair amount of testing of the selftests both on real HW and
> using various combinations on qemu (powernv+LE (default), pseries+cap-nested-hv,
> pseries+cap-nested-papr, powernv+BE). There were few powerpc kvm kernel fixes
> which were identified as part of this work. I will send those patches separately
> as those anyway needs to go in separately.
>
> <pasted snippet of cover letter from previous versions>
> =======================================================
>
> Hi All,
>
> This series primarly adds KVM selftests support for powerpc (64-bit, BookS,
> radix MMU).
>
> This patch series is originally Nick's work. I have mainly only rebased it on
> the latest upstream tree. Since the rebase required few changes to all the four
> patches (Patch 1-4), I have dropped the earlier Acked-by from Michael Ellerman.
>
> Since the last series was posted three years ago [1], I am resetting the version
> to RFC. This rebase was done as part of a larger effort to improve the selftests
> infrastructure for Linux on PowerPC tree. Thanks to Harsh and Maddy for their
> help on this.
>
>
> Nicholas Piggin (1):
> KVM: PPC: selftests: add support for powerpc
>
> Ritesh Harjani (IBM) (8):
> KVM: selftests: Enable kvm_create_max_vcpus test for powerpc
> KVM: selftests: Don't limit LE dirty-bitmap bitops to s390x
> KVM: selftests: Split out a KVM_CREATE_VCPU helper that can fail
> KVM: selftests: Make kvm_create_max_vcpus tolerate ENOMEM
> KVM: selftests: Limit the number of VM creates in hardware_disable_test
> KVM: PPC: selftests: Make nested case on pseries LPARs as resource constrained
> KVM: PPC: selftests: Skip idle-page check when running nested on pseries LPAR
> KVM: selftests: Move memslot_perf_test off the 256M ELF load address
>
> MAINTAINERS | 2 +
> tools/testing/selftests/kvm/Makefile | 2 +-
> tools/testing/selftests/kvm/Makefile.kvm | 10 +
> .../selftests/kvm/access_tracking_perf_test.c | 11 +
> tools/testing/selftests/kvm/dirty_log_test.c | 12 +-
> .../selftests/kvm/hardware_disable_test.c | 7 +-
> .../testing/selftests/kvm/include/kvm_util.h | 13 +
> .../selftests/kvm/include/powerpc/hcall.h | 17 +
> .../kvm/include/powerpc/kvm_util_arch.h | 22 +
> .../selftests/kvm/include/powerpc/ppc_asm.h | 32 ++
> .../selftests/kvm/include/powerpc/processor.h | 46 ++
> .../selftests/kvm/include/powerpc/ucall.h | 21 +
> .../selftests/kvm/kvm_create_max_vcpus.c | 29 +-
> tools/testing/selftests/kvm/lib/guest_modes.c | 20 +-
> tools/testing/selftests/kvm/lib/kvm_util.c | 39 +-
> .../selftests/kvm/lib/powerpc/handlers.S | 93 ++++
> .../testing/selftests/kvm/lib/powerpc/hcall.c | 45 ++
> .../selftests/kvm/lib/powerpc/processor.c | 522 ++++++++++++++++++
> .../testing/selftests/kvm/lib/powerpc/ucall.c | 22 +
> .../testing/selftests/kvm/memslot_perf_test.c | 2 +-
> 20 files changed, 942 insertions(+), 25 deletions(-)
> create mode 100644 tools/testing/selftests/kvm/include/powerpc/hcall.h
> create mode 100644 tools/testing/selftests/kvm/include/powerpc/kvm_util_arch.h
> create mode 100644 tools/testing/selftests/kvm/include/powerpc/ppc_asm.h
> create mode 100644 tools/testing/selftests/kvm/include/powerpc/processor.h
> create mode 100644 tools/testing/selftests/kvm/include/powerpc/ucall.h
> create mode 100644 tools/testing/selftests/kvm/lib/powerpc/handlers.S
> create mode 100644 tools/testing/selftests/kvm/lib/powerpc/hcall.c
> create mode 100644 tools/testing/selftests/kvm/lib/powerpc/processor.c
> create mode 100644 tools/testing/selftests/kvm/lib/powerpc/ucall.c
>
> --
> 2.39.5
>
>
Hi Ritesh,
Thanks for working on the fixes, I tested this series (v5) on top of
Sean's pre-enabling series (v2) [1]
on two real PowerPC systems. All patches applied cleanly and the tests
work correctly on both PowerVM LPAR and PowerNV bare-metal.
[1]: https://lore.kernel.org/kvm/20260902164123.2546762-1-seanjc@google.com/
Full test suite summary (make run_tests):
-----------------------------------------
LPAR bare-metal
demand_paging_test PASS PASS
dirty_log_test PASS PASS
dirty_log_perf_test PASS PASS
guest_print_test PASS PASS
hardware_disable_test PASS PASS
kvm_binary_stats_test PASS PASS
kvm_create_max_vcpus PASS PASS
kvm_page_table_test PASS PASS
set_memory_region_test PASS PASS
memslot_modification_stress_test PASS PASS
memslot_perf_test PASS PASS
access_tracking_perf_test PASS PASS
irqfd_test SKIP SKIP
vm_types_test SKIP SKIP
--------------------------------------------------
Total 12 PASS 12 PASS
2 SKIP 2 SKIP
Per-patch validation:
---------------------
Patch 1 [KVM: PPC: selftests: add support for powerpc]
All 14 tests built and ran successfully on PowerPC — the core
infrastructure (lib/powerpc/processor.c, handlers.S, ucall.c,
hcall.c) works correctly on both systems.
Patch 2 [KVM: selftests: Enable kvm_create_max_vcpus test for powerpc]
kvm_create_max_vcpus ran successfully on both systems.
Patch 3 [KVM: selftests: Don't limit LE dirty-bitmap bitops to s390x]
dirty_log_test ran successfully on both systems for both 4K and
64K page modes (big-endian dirty-bitmap bitops working correctly).
Patch 4 [KVM: selftests: Split out a KVM_CREATE_VCPU helper that can fail]
KVM_CREATE_VCPU helper exercised by kvm_create_max_vcpus on both
systems — clean failure path confirmed on LPAR (ENOMEM at vCPU 72).
Patch 5 [KVM: selftests: Make kvm_create_max_vcpus tolerate ENOMEM]
LPAR: Created 72 vCPUs before ENOMEM at id 72 — test
completed gracefully without crash or assert.
bare-metal: Successfully created all 2048 vCPUs — no ENOMEM hit.
Patch 6 [KVM: selftests: Limit the number of VM creates in
hardware_disable_test]
hardware_disable_test ran successfully on both systems without
hitting OOM — VM create limiting working correctly on LPAR.
Patch 7 [KVM: PPC: selftests: Make nested case on pseries LPARs as
resource constrained]
access_tracking_perf_test correctly identified the LPAR as a
resource-constrained nested environment and adjusted accordingly.
Patch 8 [KVM: PPC: selftests: Skip idle-page check when running nested
on pseries LPAR]
LPAR:
Skipping idle page count sanity check, because the test is run nested
[idle-page check correctly skipped on nested pseries LPAR]
bare-metal:
[No skip message — idle-page sanity check ran in full on PowerNV]
Patch 9 [KVM: selftests: Move memslot_perf_test off the 256M ELF load
address]
memslot_perf_test ran successfully on both systems — ELF load
address conflict with PPC's 256M region resolved correctly.
Notes on SKIPs:
---------------
- irqfd_test: PowerPC has no in-kernel irqchip.
1..0 # SKIP - Requirement not met:
kvm_arch_has_default_irqchip()
Pre-existing, unrelated to this series.
- vm_types_test: KVM_CAP_VM_TYPES is x86-only (SEV-SNP/TDX).
1..0 # SKIP - Requirement not met:
kvm_has_cap(KVM_CAP_VM_TYPES)
Pre-existing, unrelated to this series.
Please feel free to add :
Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com>
Thank you,
Anushree Mathur
prev parent reply other threads:[~2026-09-29 8:37 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 18:28 [PATCH v5 0/9] KVM: selftests: add powerpc support Ritesh Harjani (IBM)
2026-09-22 18:28 ` [PATCH v5 1/9] KVM: PPC: selftests: add support for powerpc Ritesh Harjani (IBM)
2026-09-22 18:43 ` sashiko-bot
2026-09-29 1:11 ` Ritesh Harjani
2026-10-02 22:12 ` Sean Christopherson
2026-10-03 4:37 ` Ritesh Harjani
2026-09-22 18:28 ` [PATCH v5 2/9] KVM: selftests: Enable kvm_create_max_vcpus test " Ritesh Harjani (IBM)
2026-09-22 18:28 ` [PATCH v5 3/9] KVM: selftests: Don't limit LE dirty-bitmap bitops to s390x Ritesh Harjani (IBM)
2026-09-22 18:28 ` [PATCH v5 4/9] KVM: selftests: Split out a KVM_CREATE_VCPU helper that can fail Ritesh Harjani (IBM)
2026-09-22 18:28 ` [PATCH v5 5/9] KVM: selftests: Make kvm_create_max_vcpus tolerate ENOMEM Ritesh Harjani (IBM)
2026-10-02 22:16 ` Sean Christopherson
2026-10-03 5:45 ` Ritesh Harjani
2026-09-22 18:28 ` [PATCH v5 6/9] KVM: selftests: Limit the number of VM creates in hardware_disable_test Ritesh Harjani (IBM)
2026-10-02 22:19 ` Sean Christopherson
2026-10-03 6:01 ` Ritesh Harjani
2026-09-22 18:28 ` [PATCH v5 7/9] KVM: PPC: selftests: Make nested case on pseries LPARs as resource constrained Ritesh Harjani (IBM)
2026-09-22 18:28 ` [PATCH v5 8/9] KVM: PPC: selftests: Skip idle-page check when running nested on pseries LPAR Ritesh Harjani (IBM)
2026-09-22 18:28 ` [PATCH v5 9/9] KVM: selftests: Move memslot_perf_test off the 256M ELF load address Ritesh Harjani (IBM)
2026-10-02 22:28 ` Sean Christopherson
2026-09-29 1:35 ` [PATCH v5 0/9] KVM: selftests: add powerpc support Ritesh Harjani
2026-10-02 22:38 ` Sean Christopherson
2026-10-03 6:46 ` Ritesh Harjani
2026-10-05 2:39 ` Sean Christopherson
2026-10-05 4:25 ` Ritesh Harjani
2026-10-05 6:08 ` Sean Christopherson
2026-10-06 2:43 ` Ritesh Harjani
2026-09-29 5:49 ` Anushree Mathur [this message]
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=a911b4fa-0127-4e0c-b75f-faa4fcd4bb87@ibm.com \
--to=anushree.mathur2@ibm.com \
--cc=anushree.mathur@linux.ibm.com \
--cc=chleroy@kernel.org \
--cc=harshpb@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=pbonzini@redhat.com \
--cc=ritesh.list@gmail.com \
--cc=seanjc@google.com \
--cc=sshegde@linux.ibm.com \
--cc=venkat88@linux.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.