On 2025/8/19 上午8:30, Andrew Jones wrote:
On Mon, Aug 11, 2025 at 06:49:07PM +0800, Bibo Mao wrote:
Hi Dong,

Thanks for you patch.

On 2025/8/11 下午4:24, Dong Yang wrote:
Remove the common KVM test cases already added to TEST_GEN_PROGS_COMMON
   as following:

        demand_paging_test
        dirty_log_test
        guest_print_test
        kvm_binary_stats_test
        kvm_create_max_vcpus
        kvm_page_table_test
        set_memory_region_test

Fixes: a867688c8cbb ("KVM: selftests: Add supported test cases for LoongArch")
Signed-off-by: Quan Zhou <[email protected]>
Signed-off-by: Dong Yang <[email protected]>
---
   tools/testing/selftests/kvm/Makefile.kvm | 7 -------
   1 file changed, 7 deletions(-)

diff --git a/tools/testing/selftests/kvm/Makefile.kvm 
b/tools/testing/selftests/kvm/Makefile.kvm
index 38b95998e1e6..d2ad85a8839f 100644
--- a/tools/testing/selftests/kvm/Makefile.kvm
+++ b/tools/testing/selftests/kvm/Makefile.kvm
@@ -199,17 +199,10 @@ TEST_GEN_PROGS_riscv += get-reg-list
   TEST_GEN_PROGS_riscv += steal_time
TEST_GEN_PROGS_loongarch = $(TEST_GEN_PROGS_COMMON) is missing.

BTW irqfd_test in TEST_GEN_PROGS_COMMON fails to run on LoongArch, does this
test case pass to run on Riscv?

It appears to. It outputs the vm mode created and then exits with a zero
exit code.
Here is output of irqfd test on LoongArch
[root@kvm-131 kvm]# ./irqfd_test
Random seed: 0x6b8b4567
==== Test Assertion Failure ====
  include/kvm_util.h:527: !ret
  pid=4016 tid=4016 errno=11 - Resource temporarily unavailable
     1  0x00000001200027ab: kvm_irqfd at kvm_util.h:527
     2  0x00000001200020d7: main at irqfd_test.c:100
     3  0x00007ffff38a8707: ?? ??:0
     4  0x00007ffff38a87ef: ?? ??:0
     5  0x00000001200023b7: _start at ??:?
  KVM_IRQFD failed, rc: -1 errno: 11 (Resource temporarily unavailable)

The problem is that kernel irqchip is not created with irqfd_test, and function kvm_arch_intc_initialized() returns false on LongArch.
/*
 * returns true if the virtual interrupt controller is initialized and
 * ready to accept virtual IRQ. On some architectures virtual interrupt
 * controller is dynamically instantiated and this is not always true.
 */
bool kvm_arch_intc_initialized(struct kvm *kvm);

On LoongArch virtual irqchip is dynamically created by VMM.

Regards
Bibo Mao

Thanks,
drew


Regards
Bibo Mao
   TEST_GEN_PROGS_loongarch += coalesced_io_test
-TEST_GEN_PROGS_loongarch += demand_paging_test
   TEST_GEN_PROGS_loongarch += dirty_log_perf_test
-TEST_GEN_PROGS_loongarch += dirty_log_test
-TEST_GEN_PROGS_loongarch += guest_print_test
   TEST_GEN_PROGS_loongarch += hardware_disable_test
-TEST_GEN_PROGS_loongarch += kvm_binary_stats_test
-TEST_GEN_PROGS_loongarch += kvm_create_max_vcpus
-TEST_GEN_PROGS_loongarch += kvm_page_table_test
   TEST_GEN_PROGS_loongarch += memslot_modification_stress_test
   TEST_GEN_PROGS_loongarch += memslot_perf_test
-TEST_GEN_PROGS_loongarch += set_memory_region_test
   SPLIT_TESTS += arch_timer
   SPLIT_TESTS += get-reg-list




Reply via email to