mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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>,
	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>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Shrikanth Hegde <sshegde@linux.ibm.com>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 0/3] KVM: selftests: add powerpc support
Date: Sat, 19 Sep 2026 14:33:01 +0530	[thread overview]
Message-ID: <0d3d7fe2-deda-4caa-8237-f8f4efc6483b@ibm.com> (raw)
In-Reply-To: <edbbfb46-53c7-4fc2-b9ea-c0676479fc47@ibm.com>


On 19/09/26 2:29 PM, Anushree Mathur wrote:
>
> On 11/09/26 10:18 AM, Ritesh Harjani (IBM) wrote:
>> 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) (2):
>>    KVM: PPC: selftests: powerpc enable kvm_create_max_vcpus test
>>    KVM: selftests: Use LE bitops for dirty bitmaps on all big-endian
>>      hosts
>>
>>   MAINTAINERS                                   |   2 +
>>   tools/testing/selftests/kvm/Makefile          |   2 +-
>>   tools/testing/selftests/kvm/Makefile.kvm      |  10 +
>>   tools/testing/selftests/kvm/dirty_log_test.c  |  12 +-
>>   .../testing/selftests/kvm/include/kvm_util.h  |   9 +
>>   .../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 |  39 ++
>>   .../selftests/kvm/include/powerpc/ucall.h     |  21 +
>>   .../selftests/kvm/kvm_create_max_vcpus.c      |   8 +-
>>   tools/testing/selftests/kvm/lib/guest_modes.c |  20 +-
>>   tools/testing/selftests/kvm/lib/kvm_util.c    |   8 +
>>   .../selftests/kvm/lib/powerpc/handlers.S      |  93 ++++
>>   .../testing/selftests/kvm/lib/powerpc/hcall.c |  45 ++
>>   .../selftests/kvm/lib/powerpc/processor.c     | 512 ++++++++++++++++++
>>   .../testing/selftests/kvm/lib/powerpc/ucall.c |  22 +
>>   17 files changed, 862 insertions(+), 12 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 this enablement. I have tested kvm selftests 
> after applying this patch on top of Sean's patch as mentioned and even 
> I applied this patch for the kvm_create_max_vcpus issue as rc=-56 
> "https://lore.kernel.org/linuxppc-dev/cover.1789099725.git.ritesh.list@gmail.com/" 
> But still few tests got failed. Providing a summary below:
>
> System details where I tested this : PowerVM P11 (ppc64le) KVM enabled 
> lpar!
>
> Test Results:
> =============
>
> PASS: demand_paging_test
> PASS: dirty_log_test (dirty-log mode, 4K + 64K pages, 32 iterations)
> PASS: guest_print_test
> PASS: kvm_binary_stats_test (4/4 subtests)
> PASS: kvm_page_table_test (4K + 64K pages)
> PASS: set_memory_region_test
> PASS: memslot_modification_stress_test (4K + 64K pages)
> PASS: memslot_perf_test
> PASS: dirty_log_perf_test (4K + 64K pages)
>
> SKIP: irqfd_test
>   - kvm_arch_has_default_irqchip() not yet implemented for PowerPC
>
> SKIP: vm_types_test
>   - KVM_CAP_VM_TYPES not supported on PowerPC
>
> Failures seen for the following tests
>
> FAIL: kvm_create_max_vcpus
>   - RFC patch-3 partially helps: KVM_CAP_MAX_VCPU_ID correctly
>     capped from 16384 to 2048.
>   - But vCPU creation still fails with rc=-44 below the 2048 limit.
>   - dmesg: KVM: Create Guest vcpu hcall failed, rc=-44
>
> for the above test in dmesg I saw the following error everytime I ran 
> this test
>
> dmesg -w
> [ 2640.213798] KVM: Create Guest vcpu hcall failed, rc=-44
> [ 2923.048989] KVM: Create Guest hcall failed, rc=-44
> [ 3650.642771] KVM: Create Guest vcpu hcall failed, rc=-44
>
> FAIL: hardware_disable_test
>   - KVM_CREATE_VM fails with ENOMEM
>   - dmesg: KVM: Create Guest vcpu hcall failed, rc=-44
>   - Likely the same underlying hcall issue as kvm_create_max_vcpus.
>
> FAIL: access_tracking_perf_test
>   - Too many idle pages (245385 out of 262144)
>   - errno=4 (Interrupted system call)
>   - page_idle tracking may not be fully supported on PowerPC yet.
>
>
> I believe these issues might be real kernel issue. If you plan to send 
> fixed please feel free to add my Reported-by:
>
> Reported-by: Anushree Mathur <anushree.mathur@linux.ibm.com>
>
> Thank you,
> Anushree Mathur 

Here are some more detailed logs for the Failed selftests:

./kvm_create_max_vcpus
Random seed: 0x62af7ca
KVM_CAP_MAX_VCPU_ID: 2048
KVM_CAP_MAX_VCPUS: 2048
Testing creating 2048 vCPUs, with IDs 0...2047.

==== Test Assertion Failure ====
   lib/kvm_util.c:1388: vcpu->fd >= 0
   pid=3808 tid=3808 errno=12 - Cannot allocate memory
      1    0x0000000010008667: __vm_vcpu_add at kvm_util.c:1388 
(discriminator 18)
      2    0x0000000010004093: test_vcpu_creation at 
kvm_create_max_vcpus.c:32
      3    0x0000000010003c93: main at kvm_create_max_vcpus.c:59
      4    0x00007fffae42b4fb: ?? ??:0
      5    0x00007fffae42b77b: ?? ??:0
   KVM_CREATE_VCPU failed, rc: -1 errno: 12 (Cannot allocate memory)


./hardware_disable_test
Random seed: 0x7c401041

==== Test Assertion Failure ====
   lib/kvm_util.c:193: vm->fd >= 0
   pid=5544 tid=5544 errno=12 - Cannot allocate memory
      1    0x00000000100069cb: vm_open at kvm_util.c:193 (discriminator 3)
      2    0x000000001000b95f: ____vm_create at kvm_util.c:404
      3    0x000000001000c403: __vm_create at kvm_util.c:513
      4    0x0000000010004037: vm_create at kvm_util.h:1126
      5     (inlined by) run_test at hardware_disable_test.c:78
      6     (inlined by) main at hardware_disable_test.c:148
      7    0x00007fff95c2b4fb: ?? ??:0
      8    0x00007fff95c2b77b: ?? ??:0
   KVM_CREATE_VM failed, rc: -1 errno: 12 (Cannot allocate memory)

./access_tracking_perf_test
Random seed: 0x50130229
lru_gen: Could not open /sys/kernel/mm/lru_gen/enabled
Using page_idle for aging
Testing guest mode: PA-bits:52,  VA-bits:52,  4K pages
guest physical test memory: [0xfffffbfff0000, 0xfffffffff0000)

Populating memory             : 0.324930580s
Writing to populated memory   : 0.007850148s
Reading from populated memory : 0.008390886s

==== Test Assertion Failure ====
   access_tracking_perf_test.c:164: idle_pages_warn_only
   pid=5558 tid=5560 errno=4 - Interrupted system call
      1    0x0000000010004cdf: too_many_idle_pages at 
access_tracking_perf_test.c:164
      2     (inlined by) pageidle_mark_vcpu_memory_idle at 
access_tracking_perf_test.c:229
      3     (inlined by) vcpu_thread_main at access_tracking_perf_test.c:339
      4    0x000000001000f5f7: vcpu_thread_main at memstress.c:277
      5    0x00007fff822b8063: ?? ??:0
   vCPU0: Too many pages still idle (245400 out of 262144)

Thank you,
Anushree Mathur


      reply	other threads:[~2026-09-19  9:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-11  4:48 Ritesh Harjani (IBM)
2026-09-11  4:48 ` [PATCH v4 1/3] KVM: PPC: selftests: add support for powerpc Ritesh Harjani (IBM)
2026-09-11  4:48 ` [PATCH v4 2/3] KVM: selftests: Enable kvm_create_max_vcpus test " Ritesh Harjani (IBM)
2026-09-11  4:48 ` [PATCH v4 3/3] KVM: selftests: Don't limit LE dirty-bitmap bitops to s390x Ritesh Harjani (IBM)
2026-09-19  8:59 ` [PATCH v4 0/3] KVM: selftests: add powerpc support Anushree Mathur
2026-09-19  9:03   ` 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=0d3d7fe2-deda-4caa-8237-f8f4efc6483b@ibm.com \
    --to=anushree.mathur2@ibm.com \
    --cc=anushree.mathur@linux.ibm.com \
    --cc=chleroy@kernel.org \
    --cc=harshpb@linux.ibm.com \
    --cc=imbrenda@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®