From f51639c0ee7a0ed619a19aac970b3ac07714432b Mon Sep 17 00:00:00 2001 From: "Ritesh Harjani (IBM)" Date: Tue, 6 Oct 2026 15:58:36 +0530 Subject: [PATCH] KVM: selftests: Move memslot_perf_test off the 256M ELF load address KVM selftests are built with -fno-PIE/-no-pie so the binary uses fixed load addresses. On powerpc64, GNU ld default links at 0x10000000 (256M) which is also the MEM_GPA, so the identity map trips with the error: PTE already present at level: 4 gva: 0x10000000 pte:0xc00000000002018f Put the test slots at 512M instead which is past the ELF. e.g. failure w/o this fix: ./memslot_perf_test -s 514 Random seed: 0x423558ef Testing map performance with 1 runs, 5 seconds each ==== Test Assertion Failure ==== lib/powerpc/processor.c:235: !pte pid=371 tid=371 errno=2 - No such file or directory 1 0x0000000010018293: virt_arch_pg_map at processor.c:235 2 0x0000000010008b3f: virt_pg_map at kvm_util.h:1325 3 (inlined by) virt_map at kvm_util.c:1571 4 0x0000000010001cab: prepare_vm at memslot_perf_test.c:353 5 (inlined by) test_execute at memslot_perf_test.c:816 6 (inlined by) test_loop at memslot_perf_test.c:1062 7 (inlined by) main at memslot_perf_test.c:1136 8 0x000000001001d713: __libc_start_call_main at libc-start.o:? 9 0x000000001001db47: __libc_start_main_impl at ??:? PTE already present at level: 4 gva: 0x10000000 pte:0xc00000000002018f Tested-by: Anushree Mathur Signed-off-by: Ritesh Harjani (IBM) Reviewed-by: Gautam Menghani Tested-by: Gautam Menghani Acked-by: Madhavan Srinivasan Link: https://patch.msgid.link/11b5712b213b7359bbf3bad32601e4373dac43bc.1791280439.git.ritesh.list@gmail.com Signed-off-by: Sean Christopherson --- tools/testing/selftests/kvm/memslot_perf_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/kvm/memslot_perf_test.c b/tools/testing/selftests/kvm/memslot_perf_test.c index 1e241390e11e..db2fd3c59d49 100644 --- a/tools/testing/selftests/kvm/memslot_perf_test.c +++ b/tools/testing/selftests/kvm/memslot_perf_test.c @@ -30,7 +30,7 @@ #define MEM_EXTRA_SIZE SZ_64K #define MEM_SIZE (SZ_512M + MEM_EXTRA_SIZE) -#define MEM_GPA SZ_256M +#define MEM_GPA SZ_512M #define MEM_AUX_GPA MEM_GPA #define MEM_SYNC_GPA MEM_AUX_GPA #define MEM_TEST_GPA (MEM_AUX_GPA + MEM_EXTRA_SIZE)