All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anushree Mathur <anushree.mathur2@ibm.com>
To: Sean Christopherson <seanjc@google.com>,
	Marc Zyngier <maz@kernel.org>, Oliver Upton <oupton@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Tianrui Zhao <zhaotianrui@loongson.cn>,
	Bibo Mao <maobibo@loongson.cn>,
	Huacai Chen <chenhuacai@kernel.org>,
	Anup Patel <anup@brainfault.org>, Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Ritesh Harjani <ritesh.list@gmail.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Fuad Tabba <fuad.tabba@linux.dev>,
	Joey Gouly <joey.gouly@arm.com>,
	Steffen Eiden <seiden@linux.ibm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Atish Patra <atish.patra@linux.dev>,
	Alexandre Ghiti <alex@ghiti.fr>,
	David Hildenbrand <david@kernel.org>,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org,
	linux-riscv@lists.infradead.org,
	Itaru Kitayama <itaru.kitayama@fujitsu.com>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: Re: [PATCH v2 00/20] KVM: selftests: PPC pre-enabling
Date: Tue, 29 Sep 2026 12:45:30 +0530	[thread overview]
Message-ID: <e5a70518-9dfb-47e5-ac32-58b75c07a858@ibm.com> (raw)
In-Reply-To: <20260902164123.2546762-1-seanjc@google.com>


On 02/09/26 10:11 PM, Sean Christopherson wrote:
> This is a big pile of cleanups and refactoring to prepare for PPC support in
> KVM selftests.  PPC has paging modes that require multi-page page tables, and
> those page tables need to be naturally aligned.  The original proposal was to
> plumb in an @align param to the page allocators[*], but I didn't love the idea
> of adding another rarely used param to the allocators.
>
> v2:
>   - Collect tags. [Itaru, Bibo]
>   - Use 0x180000 as the min GPA for page table pages on LoongArch, instead of
>     changing every other arch to use 0x200000. [Sashiko, Bibo]
>   - Opportunistically move the vGIC LPI stress test's global "gpa_base" variable
>     into setup_memslot(). [Sashiko]
>
> v1: https://lore.kernel.org/all/20260826230511.972824-1-seanjc@google.com
>
> [*] https://lore.kernel.org/all/df86b5ccdbdafc3509d9538bd5e6796737bab2db.1781093720.git.ritesh.list@gmail.com
>
> Nicholas Piggin (1):
>    KVM: selftests: Use goto instead of do-while to retry finding unused
>      physical pages
>
> Sean Christopherson (19):
>    KVM: selftests: Use MEM_REGION_PT memslot instead of '0' for s390
>      regions/segments
>    KVM: selftests: Use the common minimum GPA for page tables on
>      LoongArch
>    KVM: selftests: Use vm_alloc_page_table() to allocate LoongArch page
>      tables
>    KVM: selftests: Rename "num" param to "nr_pages" for physical page
>      allocators
>    KVM: selftests: Extend page allocator to support naturally aligned
>      allocations
>    KVM: selftests: Make the single-page allocator APIs static inline
>    KVM: selftests: Use the innermost page allocator API in the memslot
>      perf test
>    KVM: selftests: Use the innermost page allocator API in s390's IRQ
>      routing test
>    KVM: selftests: Add a wrapper API to allocate multiple page table
>      pages
>    KVM: selftests: Initialize vm->memslots[] with invalid memslots during
>      creation
>    KVM: selftests: Add APIs to override memory region types with custom
>      memslots
>    KVM: selftests: Add TEST_EXTRA memory region type for "special"
>      memslots
>    KVM: selftests: Use TEST_EXTRA region in arm64's vGIC LPI stress test
>    KVM: selftests: Use TEST_EXTRA region in x86's smaller MAXPHYADDR test
>    KVM: selftests: Use TEST_EXTRA region in set memory region test
>    KVM: selftests: Take the memory region type, not memslot, in page
>      allocators
>    KVM: selftests: Use TEST_ASSERT(), not assert(), in
>      vm_get_mem_region()
>    KVM: selftests: Automatically pick min_gpa for allocations based on
>      region type
>    KVM: selftests: Add arch hook to force page tables to be naturally
>      aligned
>
>   .../selftests/kvm/arm64/page_fault_test.c     |  18 ++-
>   .../selftests/kvm/arm64/vgic_lpi_stress.c     |  21 ++-
>   .../testing/selftests/kvm/include/kvm_util.h  | 106 +++++++++++++--
>   tools/testing/selftests/kvm/include/x86/smm.h |   2 +-
>   .../selftests/kvm/lib/arm64/processor.c       |   4 +-
>   tools/testing/selftests/kvm/lib/kvm_util.c    | 127 +++++++++++-------
>   .../selftests/kvm/lib/loongarch/processor.c   |   5 +-
>   .../selftests/kvm/lib/riscv/processor.c       |   4 +-
>   .../selftests/kvm/lib/s390/processor.c        |   7 +-
>   .../testing/selftests/kvm/lib/x86/processor.c |  15 ++-
>   .../testing/selftests/kvm/memslot_perf_test.c |   3 +-
>   tools/testing/selftests/kvm/s390/cmma_test.c  |  19 +--
>   .../testing/selftests/kvm/s390/irq_routing.c  |   2 +-
>   .../selftests/kvm/set_memory_region_test.c    |   8 +-
>   .../x86/smaller_maxphyaddr_emulation_test.c   |   9 +-
>   15 files changed, 221 insertions(+), 129 deletions(-)
>
>
> base-commit: 76671054f9a1ff6abb976583cd8da37650acdc97

Hi Sean,

Thanks for working on this patch series. I tested this series (v2) as a 
base
for Ritesh's PowerPC KVM selftest series (v5) [1] on two real 
PowerPC(ppc64le)
PowerVM & PowerNV systems. Your patches applied cleanly and the core 
infrastructure
changes worked correctly on PowerPC — exactly the foundation Ritesh's 
series needed.


Ritesh's patch series : 
https://lore.kernel.org/linuxppc-dev/cover.1790101179.git.ritesh.list@gmail.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

My Detailed testing analysis for your patches on PowerPC (ppc64le):
-------------------------------------------------
Patches 1-5 [Page allocator and memslot refactoring]
   Core page allocator and memslot infrastructure exercised by all 14
   tests on both systems — no regressions observed.

Patches 6-10 [Extended page allocator APIs]
   Exercised via kvm_create_max_vcpus and memslot_perf_test on both
   systems — APIs work correctly on PowerPC.

Patches 11-13, 16 [Memslot initialization and TEST_EXTRA region]
   set_memory_region_test and memslot_modification_stress_test ran
   successfully on both systems — memslot init, TEST_EXTRA region, and
   its usage in set_memory_region_test all working correctly.

Patch 17 [Memory region type API]
   Exercised by set_memory_region_test — PASS on both systems.

Patch 18 [Use TEST_ASSERT() in kvm_util.c]
   Exercised by all tests — no assertion failures observed.

Patch 19 [Auto-pick min_gpa for PowerPC]
   This is the critical patch for PPC — guest physical test memory
   was correctly placed above 256M on both systems:
     LPAR:       guest physical test memory: [0xfffffbfff0000, 
0xfffffffff0000)
     bare-metal: guest physical test memory: [0xfffffbfff0000, 
0xfffffffff0000)

Patch 20 [Add arch hook to force page table setup]
   lib/powerpc/processor.c correctly hooks into this — guest page
   tables set up correctly on both systems.

Note: Patches 14 and 15 (arm64/x86-specific TEST_EXTRA usage) were
not exercised as those tests don't build on PowerPC — as expected.


Please feel free to add :

Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com>

Thank you,
Anushree Mathur


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Anushree Mathur <anushree.mathur2@ibm.com>
To: Sean Christopherson <seanjc@google.com>,
	Marc Zyngier <maz@kernel.org>, Oliver Upton <oupton@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Tianrui Zhao <zhaotianrui@loongson.cn>,
	Bibo Mao <maobibo@loongson.cn>,
	Huacai Chen <chenhuacai@kernel.org>,
	Anup Patel <anup@brainfault.org>, Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Ritesh Harjani <ritesh.list@gmail.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Fuad Tabba <fuad.tabba@linux.dev>,
	Joey Gouly <joey.gouly@arm.com>,
	Steffen Eiden <seiden@linux.ibm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Atish Patra <atish.patra@linux.dev>,
	Alexandre Ghiti <alex@ghiti.fr>,
	David Hildenbrand <david@kernel.org>,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org,
	linux-riscv@lists.infradead.org,
	Itaru Kitayama <itaru.kitayama@fujitsu.com>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: Re: [PATCH v2 00/20] KVM: selftests: PPC pre-enabling
Date: Tue, 29 Sep 2026 12:45:30 +0530	[thread overview]
Message-ID: <e5a70518-9dfb-47e5-ac32-58b75c07a858@ibm.com> (raw)
In-Reply-To: <20260902164123.2546762-1-seanjc@google.com>


On 02/09/26 10:11 PM, Sean Christopherson wrote:
> This is a big pile of cleanups and refactoring to prepare for PPC support in
> KVM selftests.  PPC has paging modes that require multi-page page tables, and
> those page tables need to be naturally aligned.  The original proposal was to
> plumb in an @align param to the page allocators[*], but I didn't love the idea
> of adding another rarely used param to the allocators.
>
> v2:
>   - Collect tags. [Itaru, Bibo]
>   - Use 0x180000 as the min GPA for page table pages on LoongArch, instead of
>     changing every other arch to use 0x200000. [Sashiko, Bibo]
>   - Opportunistically move the vGIC LPI stress test's global "gpa_base" variable
>     into setup_memslot(). [Sashiko]
>
> v1: https://lore.kernel.org/all/20260826230511.972824-1-seanjc@google.com
>
> [*] https://lore.kernel.org/all/df86b5ccdbdafc3509d9538bd5e6796737bab2db.1781093720.git.ritesh.list@gmail.com
>
> Nicholas Piggin (1):
>    KVM: selftests: Use goto instead of do-while to retry finding unused
>      physical pages
>
> Sean Christopherson (19):
>    KVM: selftests: Use MEM_REGION_PT memslot instead of '0' for s390
>      regions/segments
>    KVM: selftests: Use the common minimum GPA for page tables on
>      LoongArch
>    KVM: selftests: Use vm_alloc_page_table() to allocate LoongArch page
>      tables
>    KVM: selftests: Rename "num" param to "nr_pages" for physical page
>      allocators
>    KVM: selftests: Extend page allocator to support naturally aligned
>      allocations
>    KVM: selftests: Make the single-page allocator APIs static inline
>    KVM: selftests: Use the innermost page allocator API in the memslot
>      perf test
>    KVM: selftests: Use the innermost page allocator API in s390's IRQ
>      routing test
>    KVM: selftests: Add a wrapper API to allocate multiple page table
>      pages
>    KVM: selftests: Initialize vm->memslots[] with invalid memslots during
>      creation
>    KVM: selftests: Add APIs to override memory region types with custom
>      memslots
>    KVM: selftests: Add TEST_EXTRA memory region type for "special"
>      memslots
>    KVM: selftests: Use TEST_EXTRA region in arm64's vGIC LPI stress test
>    KVM: selftests: Use TEST_EXTRA region in x86's smaller MAXPHYADDR test
>    KVM: selftests: Use TEST_EXTRA region in set memory region test
>    KVM: selftests: Take the memory region type, not memslot, in page
>      allocators
>    KVM: selftests: Use TEST_ASSERT(), not assert(), in
>      vm_get_mem_region()
>    KVM: selftests: Automatically pick min_gpa for allocations based on
>      region type
>    KVM: selftests: Add arch hook to force page tables to be naturally
>      aligned
>
>   .../selftests/kvm/arm64/page_fault_test.c     |  18 ++-
>   .../selftests/kvm/arm64/vgic_lpi_stress.c     |  21 ++-
>   .../testing/selftests/kvm/include/kvm_util.h  | 106 +++++++++++++--
>   tools/testing/selftests/kvm/include/x86/smm.h |   2 +-
>   .../selftests/kvm/lib/arm64/processor.c       |   4 +-
>   tools/testing/selftests/kvm/lib/kvm_util.c    | 127 +++++++++++-------
>   .../selftests/kvm/lib/loongarch/processor.c   |   5 +-
>   .../selftests/kvm/lib/riscv/processor.c       |   4 +-
>   .../selftests/kvm/lib/s390/processor.c        |   7 +-
>   .../testing/selftests/kvm/lib/x86/processor.c |  15 ++-
>   .../testing/selftests/kvm/memslot_perf_test.c |   3 +-
>   tools/testing/selftests/kvm/s390/cmma_test.c  |  19 +--
>   .../testing/selftests/kvm/s390/irq_routing.c  |   2 +-
>   .../selftests/kvm/set_memory_region_test.c    |   8 +-
>   .../x86/smaller_maxphyaddr_emulation_test.c   |   9 +-
>   15 files changed, 221 insertions(+), 129 deletions(-)
>
>
> base-commit: 76671054f9a1ff6abb976583cd8da37650acdc97

Hi Sean,

Thanks for working on this patch series. I tested this series (v2) as a 
base
for Ritesh's PowerPC KVM selftest series (v5) [1] on two real 
PowerPC(ppc64le)
PowerVM & PowerNV systems. Your patches applied cleanly and the core 
infrastructure
changes worked correctly on PowerPC — exactly the foundation Ritesh's 
series needed.


Ritesh's patch series : 
https://lore.kernel.org/linuxppc-dev/cover.1790101179.git.ritesh.list@gmail.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

My Detailed testing analysis for your patches on PowerPC (ppc64le):
-------------------------------------------------
Patches 1-5 [Page allocator and memslot refactoring]
   Core page allocator and memslot infrastructure exercised by all 14
   tests on both systems — no regressions observed.

Patches 6-10 [Extended page allocator APIs]
   Exercised via kvm_create_max_vcpus and memslot_perf_test on both
   systems — APIs work correctly on PowerPC.

Patches 11-13, 16 [Memslot initialization and TEST_EXTRA region]
   set_memory_region_test and memslot_modification_stress_test ran
   successfully on both systems — memslot init, TEST_EXTRA region, and
   its usage in set_memory_region_test all working correctly.

Patch 17 [Memory region type API]
   Exercised by set_memory_region_test — PASS on both systems.

Patch 18 [Use TEST_ASSERT() in kvm_util.c]
   Exercised by all tests — no assertion failures observed.

Patch 19 [Auto-pick min_gpa for PowerPC]
   This is the critical patch for PPC — guest physical test memory
   was correctly placed above 256M on both systems:
     LPAR:       guest physical test memory: [0xfffffbfff0000, 
0xfffffffff0000)
     bare-metal: guest physical test memory: [0xfffffbfff0000, 
0xfffffffff0000)

Patch 20 [Add arch hook to force page table setup]
   lib/powerpc/processor.c correctly hooks into this — guest page
   tables set up correctly on both systems.

Note: Patches 14 and 15 (arm64/x86-specific TEST_EXTRA usage) were
not exercised as those tests don't build on PowerPC — as expected.


Please feel free to add :

Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com>

Thank you,
Anushree Mathur


WARNING: multiple messages have this Message-ID (diff)
From: Anushree Mathur <anushree.mathur2@ibm.com>
To: Sean Christopherson <seanjc@google.com>,
	Marc Zyngier <maz@kernel.org>, Oliver Upton <oupton@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Tianrui Zhao <zhaotianrui@loongson.cn>,
	Bibo Mao <maobibo@loongson.cn>,
	Huacai Chen <chenhuacai@kernel.org>,
	Anup Patel <anup@brainfault.org>, Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Ritesh Harjani <ritesh.list@gmail.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Fuad Tabba <fuad.tabba@linux.dev>,
	Joey Gouly <joey.gouly@arm.com>,
	Steffen Eiden <seiden@linux.ibm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Atish Patra <atish.patra@linux.dev>,
	Alexandre Ghiti <alex@ghiti.fr>,
	David Hildenbrand <david@kernel.org>,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org,
	linux-riscv@lists.infradead.org,
	Itaru Kitayama <itaru.kitayama@fujitsu.com>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: Re: [PATCH v2 00/20] KVM: selftests: PPC pre-enabling
Date: Tue, 29 Sep 2026 12:45:30 +0530	[thread overview]
Message-ID: <e5a70518-9dfb-47e5-ac32-58b75c07a858@ibm.com> (raw)
In-Reply-To: <20260902164123.2546762-1-seanjc@google.com>


On 02/09/26 10:11 PM, Sean Christopherson wrote:
> This is a big pile of cleanups and refactoring to prepare for PPC support in
> KVM selftests.  PPC has paging modes that require multi-page page tables, and
> those page tables need to be naturally aligned.  The original proposal was to
> plumb in an @align param to the page allocators[*], but I didn't love the idea
> of adding another rarely used param to the allocators.
>
> v2:
>   - Collect tags. [Itaru, Bibo]
>   - Use 0x180000 as the min GPA for page table pages on LoongArch, instead of
>     changing every other arch to use 0x200000. [Sashiko, Bibo]
>   - Opportunistically move the vGIC LPI stress test's global "gpa_base" variable
>     into setup_memslot(). [Sashiko]
>
> v1: https://lore.kernel.org/all/20260826230511.972824-1-seanjc@google.com
>
> [*] https://lore.kernel.org/all/df86b5ccdbdafc3509d9538bd5e6796737bab2db.1781093720.git.ritesh.list@gmail.com
>
> Nicholas Piggin (1):
>    KVM: selftests: Use goto instead of do-while to retry finding unused
>      physical pages
>
> Sean Christopherson (19):
>    KVM: selftests: Use MEM_REGION_PT memslot instead of '0' for s390
>      regions/segments
>    KVM: selftests: Use the common minimum GPA for page tables on
>      LoongArch
>    KVM: selftests: Use vm_alloc_page_table() to allocate LoongArch page
>      tables
>    KVM: selftests: Rename "num" param to "nr_pages" for physical page
>      allocators
>    KVM: selftests: Extend page allocator to support naturally aligned
>      allocations
>    KVM: selftests: Make the single-page allocator APIs static inline
>    KVM: selftests: Use the innermost page allocator API in the memslot
>      perf test
>    KVM: selftests: Use the innermost page allocator API in s390's IRQ
>      routing test
>    KVM: selftests: Add a wrapper API to allocate multiple page table
>      pages
>    KVM: selftests: Initialize vm->memslots[] with invalid memslots during
>      creation
>    KVM: selftests: Add APIs to override memory region types with custom
>      memslots
>    KVM: selftests: Add TEST_EXTRA memory region type for "special"
>      memslots
>    KVM: selftests: Use TEST_EXTRA region in arm64's vGIC LPI stress test
>    KVM: selftests: Use TEST_EXTRA region in x86's smaller MAXPHYADDR test
>    KVM: selftests: Use TEST_EXTRA region in set memory region test
>    KVM: selftests: Take the memory region type, not memslot, in page
>      allocators
>    KVM: selftests: Use TEST_ASSERT(), not assert(), in
>      vm_get_mem_region()
>    KVM: selftests: Automatically pick min_gpa for allocations based on
>      region type
>    KVM: selftests: Add arch hook to force page tables to be naturally
>      aligned
>
>   .../selftests/kvm/arm64/page_fault_test.c     |  18 ++-
>   .../selftests/kvm/arm64/vgic_lpi_stress.c     |  21 ++-
>   .../testing/selftests/kvm/include/kvm_util.h  | 106 +++++++++++++--
>   tools/testing/selftests/kvm/include/x86/smm.h |   2 +-
>   .../selftests/kvm/lib/arm64/processor.c       |   4 +-
>   tools/testing/selftests/kvm/lib/kvm_util.c    | 127 +++++++++++-------
>   .../selftests/kvm/lib/loongarch/processor.c   |   5 +-
>   .../selftests/kvm/lib/riscv/processor.c       |   4 +-
>   .../selftests/kvm/lib/s390/processor.c        |   7 +-
>   .../testing/selftests/kvm/lib/x86/processor.c |  15 ++-
>   .../testing/selftests/kvm/memslot_perf_test.c |   3 +-
>   tools/testing/selftests/kvm/s390/cmma_test.c  |  19 +--
>   .../testing/selftests/kvm/s390/irq_routing.c  |   2 +-
>   .../selftests/kvm/set_memory_region_test.c    |   8 +-
>   .../x86/smaller_maxphyaddr_emulation_test.c   |   9 +-
>   15 files changed, 221 insertions(+), 129 deletions(-)
>
>
> base-commit: 76671054f9a1ff6abb976583cd8da37650acdc97

Hi Sean,

Thanks for working on this patch series. I tested this series (v2) as a 
base
for Ritesh's PowerPC KVM selftest series (v5) [1] on two real 
PowerPC(ppc64le)
PowerVM & PowerNV systems. Your patches applied cleanly and the core 
infrastructure
changes worked correctly on PowerPC — exactly the foundation Ritesh's 
series needed.


Ritesh's patch series : 
https://lore.kernel.org/linuxppc-dev/cover.1790101179.git.ritesh.list@gmail.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

My Detailed testing analysis for your patches on PowerPC (ppc64le):
-------------------------------------------------
Patches 1-5 [Page allocator and memslot refactoring]
   Core page allocator and memslot infrastructure exercised by all 14
   tests on both systems — no regressions observed.

Patches 6-10 [Extended page allocator APIs]
   Exercised via kvm_create_max_vcpus and memslot_perf_test on both
   systems — APIs work correctly on PowerPC.

Patches 11-13, 16 [Memslot initialization and TEST_EXTRA region]
   set_memory_region_test and memslot_modification_stress_test ran
   successfully on both systems — memslot init, TEST_EXTRA region, and
   its usage in set_memory_region_test all working correctly.

Patch 17 [Memory region type API]
   Exercised by set_memory_region_test — PASS on both systems.

Patch 18 [Use TEST_ASSERT() in kvm_util.c]
   Exercised by all tests — no assertion failures observed.

Patch 19 [Auto-pick min_gpa for PowerPC]
   This is the critical patch for PPC — guest physical test memory
   was correctly placed above 256M on both systems:
     LPAR:       guest physical test memory: [0xfffffbfff0000, 
0xfffffffff0000)
     bare-metal: guest physical test memory: [0xfffffbfff0000, 
0xfffffffff0000)

Patch 20 [Add arch hook to force page table setup]
   lib/powerpc/processor.c correctly hooks into this — guest page
   tables set up correctly on both systems.

Note: Patches 14 and 15 (arm64/x86-specific TEST_EXTRA usage) were
not exercised as those tests don't build on PowerPC — as expected.


Please feel free to add :

Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com>

Thank you,
Anushree Mathur


-- 
kvm-riscv mailing list
kvm-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kvm-riscv

  parent reply	other threads:[~2026-09-29  7:16 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-02 16:41 [PATCH v2 00/20] KVM: selftests: PPC pre-enabling Sean Christopherson
2026-09-02 16:41 ` Sean Christopherson
2026-09-02 16:41 ` Sean Christopherson
2026-09-02 16:41 ` [PATCH v2 01/20] KVM: selftests: Use MEM_REGION_PT memslot instead of '0' for s390 regions/segments Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:50   ` sashiko-bot
2026-09-10 10:24   ` Claudio Imbrenda
2026-09-10 10:24     ` Claudio Imbrenda
2026-09-10 10:24     ` Claudio Imbrenda
2026-09-02 16:41 ` [PATCH v2 02/20] KVM: selftests: Use the common minimum GPA for page tables on LoongArch Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-03  1:01   ` Bibo Mao
2026-09-03  1:01     ` Bibo Mao
2026-09-03  1:01     ` Bibo Mao
2026-09-02 16:41 ` [PATCH v2 03/20] KVM: selftests: Use vm_alloc_page_table() to allocate LoongArch page tables Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41 ` [PATCH v2 04/20] KVM: selftests: Rename "num" param to "nr_pages" for physical page allocators Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:50   ` sashiko-bot
2026-09-04 13:30   ` Ritesh Harjani
2026-09-04 13:30     ` Ritesh Harjani
2026-09-04 13:30     ` Ritesh Harjani
2026-09-02 16:41 ` [PATCH v2 05/20] KVM: selftests: Use goto instead of do-while to retry finding unused physical pages Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-04 11:40   ` Gautam Menghani
2026-09-04 11:40     ` Gautam Menghani
2026-09-04 11:40     ` Gautam Menghani
2026-09-02 16:41 ` [PATCH v2 06/20] KVM: selftests: Extend page allocator to support naturally aligned allocations Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:49   ` sashiko-bot
2026-09-10  5:27   ` Ritesh Harjani
2026-09-10  5:27     ` Ritesh Harjani
2026-09-10  5:27     ` Ritesh Harjani
2026-09-02 16:41 ` [PATCH v2 07/20] KVM: selftests: Make the single-page allocator APIs static inline Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-10  6:36   ` Ritesh Harjani
2026-09-10  6:36     ` Ritesh Harjani
2026-09-10  6:36     ` Ritesh Harjani
2026-09-02 16:41 ` [PATCH v2 08/20] KVM: selftests: Use the innermost page allocator API in the memslot perf test Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-10 10:55   ` Ritesh Harjani
2026-09-10 10:55     ` Ritesh Harjani
2026-09-10 10:55     ` Ritesh Harjani
2026-09-10 11:00   ` Ritesh Harjani
2026-09-10 11:00     ` Ritesh Harjani
2026-09-10 11:00     ` Ritesh Harjani
2026-09-02 16:41 ` [PATCH v2 09/20] KVM: selftests: Use the innermost page allocator API in s390's IRQ routing test Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-07 11:21   ` Janosch Frank
2026-09-07 11:21     ` Janosch Frank
2026-09-07 11:21     ` Janosch Frank
2026-09-10 10:25   ` Claudio Imbrenda
2026-09-10 10:25     ` Claudio Imbrenda
2026-09-10 10:25     ` Claudio Imbrenda
2026-09-02 16:41 ` [PATCH v2 10/20] KVM: selftests: Add a wrapper API to allocate multiple page table pages Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-04 11:41   ` Gautam Menghani
2026-09-04 11:41     ` Gautam Menghani
2026-09-04 11:41     ` Gautam Menghani
2026-09-07  8:23   ` Anup Patel
2026-09-07  8:23     ` Anup Patel
2026-09-07  8:23     ` Anup Patel
2026-09-10 10:23   ` Claudio Imbrenda
2026-09-10 10:23     ` Claudio Imbrenda
2026-09-10 10:23     ` Claudio Imbrenda
2026-09-10 11:04   ` Ritesh Harjani
2026-09-10 11:04     ` Ritesh Harjani
2026-09-10 11:04     ` Ritesh Harjani
2026-09-02 16:41 ` [PATCH v2 11/20] KVM: selftests: Initialize vm->memslots[] with invalid memslots during creation Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-04 11:42   ` Gautam Menghani
2026-09-04 11:42     ` Gautam Menghani
2026-09-04 11:42     ` Gautam Menghani
2026-09-10 11:09   ` Ritesh Harjani
2026-09-10 11:09     ` Ritesh Harjani
2026-09-10 11:09     ` Ritesh Harjani
2026-09-02 16:41 ` [PATCH v2 12/20] KVM: selftests: Add APIs to override memory region types with custom memslots Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-10 10:27   ` Claudio Imbrenda
2026-09-10 10:27     ` Claudio Imbrenda
2026-09-10 10:27     ` Claudio Imbrenda
2026-09-10 11:18   ` Ritesh Harjani
2026-09-10 11:18     ` Ritesh Harjani
2026-09-10 11:18     ` Ritesh Harjani
2026-09-10 16:24     ` Sean Christopherson
2026-09-10 16:24       ` Sean Christopherson
2026-09-10 16:24       ` Sean Christopherson
2026-09-11  2:08       ` Itaru Kitayama
2026-09-11  2:08         ` Itaru Kitayama
2026-09-11  2:08         ` Itaru Kitayama
2026-09-02 16:41 ` [PATCH v2 13/20] KVM: selftests: Add TEST_EXTRA memory region type for "special" memslots Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:53   ` sashiko-bot
2026-09-02 16:41 ` [PATCH v2 14/20] KVM: selftests: Use TEST_EXTRA region in arm64's vGIC LPI stress test Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41 ` [PATCH v2 15/20] KVM: selftests: Use TEST_EXTRA region in x86's smaller MAXPHYADDR test Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41 ` [PATCH v2 16/20] KVM: selftests: Use TEST_EXTRA region in set memory region test Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41 ` [PATCH v2 17/20] KVM: selftests: Take the memory region type, not memslot, in page allocators Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-10 11:40   ` Ritesh Harjani
2026-09-10 11:40     ` Ritesh Harjani
2026-09-10 11:40     ` Ritesh Harjani
2026-09-02 16:41 ` [PATCH v2 18/20] KVM: selftests: Use TEST_ASSERT(), not assert(), in vm_get_mem_region() Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-10 11:27   ` Ritesh Harjani
2026-09-10 11:27     ` Ritesh Harjani
2026-09-10 11:27     ` Ritesh Harjani
2026-09-02 16:41 ` [PATCH v2 19/20] KVM: selftests: Automatically pick min_gpa for allocations based on region type Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41 ` [PATCH v2 20/20] KVM: selftests: Add arch hook to force page tables to be naturally aligned Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:41   ` Sean Christopherson
2026-09-02 16:59   ` sashiko-bot
2026-09-10 11:57   ` Ritesh Harjani
2026-09-10 11:57     ` Ritesh Harjani
2026-09-10 11:57     ` Ritesh Harjani
2026-09-02 23:06 ` [PATCH v2 00/20] KVM: selftests: PPC pre-enabling Itaru Kitayama
2026-09-02 23:06   ` Itaru Kitayama
2026-09-02 23:06   ` Itaru Kitayama
2026-09-21 14:05 ` Sean Christopherson
2026-09-21 14:05   ` Sean Christopherson
2026-09-21 14:05   ` Sean Christopherson
2026-09-29  7:15 ` Anushree Mathur [this message]
2026-09-29  7:15   ` Anushree Mathur
2026-09-29  7:15   ` Anushree Mathur

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=e5a70518-9dfb-47e5-ac32-58b75c07a858@ibm.com \
    --to=anushree.mathur2@ibm.com \
    --cc=alex@ghiti.fr \
    --cc=anup@brainfault.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=atish.patra@linux.dev \
    --cc=borntraeger@linux.ibm.com \
    --cc=chenhuacai@kernel.org \
    --cc=david@kernel.org \
    --cc=frankja@linux.ibm.com \
    --cc=fuad.tabba@linux.dev \
    --cc=imbrenda@linux.ibm.com \
    --cc=itaru.kitayama@fujitsu.com \
    --cc=joey.gouly@arm.com \
    --cc=kvm-riscv@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=loongarch@lists.linux.dev \
    --cc=maddy@linux.ibm.com \
    --cc=maobibo@loongson.cn \
    --cc=maz@kernel.org \
    --cc=npiggin@gmail.com \
    --cc=oupton@kernel.org \
    --cc=palmer@dabbelt.com \
    --cc=pbonzini@redhat.com \
    --cc=pjw@kernel.org \
    --cc=ritesh.list@gmail.com \
    --cc=seanjc@google.com \
    --cc=seiden@linux.ibm.com \
    --cc=suzuki.poulose@arm.com \
    --cc=yuzenghui@huawei.com \
    --cc=zhaotianrui@loongson.cn \
    /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.