Sean Christopherson <[email protected]> writes: > On Mon, Oct 05, 2026, Ritesh Harjani wrote: > > I think I'd even prefer to take on an #ifdef (to scope it to PPC if > necessary) >> > over open coding TEST_GEN_PROGS_COMMON. >> >> Sure, so will add this check for kvm_create_max_vcpus() >> >> #ifdef __powerpc64__ >> TEST_REQUIRE(!is_pseries_lpar()); >> #endif > > Or maybe to avoid too many ifdefs, something like: > > static inline kvm_is_ppc_pseries_lpar(void) > { > /* > * Comment about how this setup has unique limitations and isn't > * compatible with tests that create many VMs and/or vCPUs. > */ > #ifdef __powerpc64___ > return !access("/proc/device-tree/rtas/ibm,hypertas-functions", > F_OK); > #else > return false; > #endif > } > > Probably redundant naming to some extent, but having "ppc" in there would > make it > super obvious it's a PPC-only check. >
Sure. So I will get this definition added into kvm_util.h header file. >> Actually I was thinking we may as well use the same check for now for >> skipping hardware_disable_test on pseries. Because there also we suffer >> from the same resource limitation. Let me know if that sounds ok to you >> or do you want us to skip kvm_create_max_vcpus() only for now, since it >> is part of TEST_GEN_PROGS_COMMON? >> >> > LoongArch open coded its full test list >> > for some reason, and in less than a year it has started missing out on new >> > common >> > tests. >> > >> >> (& maybe few others like vm_types_test) from that in v6. >> > >> > What's wrong with VM types test? That one really should Just Work on all >> > architectures. It doesn't run on LoongArch, but I assume that's >> > oversight? >> >> So the test doesn't fail (it gets skipped). However this cap >> "KVM_CAP_VM_TYPES" is only supported on x86 and since I was planning to >> open code all common tests, hence I thought I may as well not add this >> in the first place. > > /facepalm > > I completely forgot KVM_CAP_VM_TYPES is x86-only. FWIW, I'd still say use > TEST_GEN_PROGS_COMMON if possible. > >> BTW, based on this discussion, I think I will re-arrange the patches in >> the following order and send a v7. (The Makefile.kvm changes will only >> get added after the main patch which adds powerpc support). >> >> cfabdb049bd7 2026-10-05 [Ritesh Harjani (IBM)] (HEAD -> >> feat-ppc-kvm-selftests-new-sean-v7) KVM: selftests: Skip >> hardware_disable_test on pseries >> 2b51fab87b95 2026-09-22 [Ritesh Harjani (IBM)] KVM: PPC: selftests: Skip >> idle-page check when running nested on pseries LPAR >> f5d1de1be4e9 2026-10-05 [Ritesh Harjani (IBM)] KVM: selftests: Skip >> kvm_create_max_vcpus on pseries >> e45ba15cea25 2026-10-03 [Ritesh Harjani (IBM)] KVM: PPC: selftests: Add >> helper for checking if running nested > > Doesn't this one need to come first? Or is this different than pseries LPAR? > That is correct. The patches are in the reverse order taken from the output of: git log --oneline ... >> 178c9bca0e20 2026-09-22 [Nicholas Piggin] KVM: PPC: selftests: add support >> for powerpc >> 22320662e776 2026-09-11 [Ritesh Harjani (IBM)] KVM: selftests: Fix >> kvm_create_max_vcpus test for powerpc > > This should come before "add support for powerpc", and should have a shortlog That is correct. The patches are in the reverse order taken from the output of: git log --oneline ... > more like "Skip max vCPU IDs test on PPC with <whatever is a good description > of the SMT cap>" > Sure, I will change this to something like: KVM: selftests: Skip the max vCPU ID test when KVM_CAP_PPC_SMT is set kvm_create_max_vcpus creates vCPUs from 0..MAX_VCPUS-1, then again with ids at the top of KVM_CAP_MAX_VCPU_ID. On PowerPC the vCPU id is not a flat index: it encodes SMT thread plus core. So on powerpc maximum permitted vCPU ID depends on the VM's SMT mode and the maximum reported by KVM_CAP_MAX_VCPU_ID exceeds a simple non-SMT VM's limit. So, skip that second loop when KVM_CAP_PPC_SMT is non-zero. The cap is 0 on other arches, so they still run it. The 0..MAX_VCPUS pass is unchanged. >> 11b5712b213b 2026-09-22 [Ritesh Harjani (IBM)] KVM: selftests: Move >> memslot_perf_test off the 256M ELF load address >> 63c900860b5f 2026-09-22 [Ritesh Harjani (IBM)] KVM: selftests: Don't limit >> LE dirty-bitmap bitops to s390x >> >> >> Please let me know if this sounds ok? > > Ya, works for me! Thanks! Will send v7 shortly with the discussed changes. -ritesh
