linux/tools/testing/selftests/kvm
David Hildenbrand 01c51a32dc KVM: s390x: selftests: Add shared zeropage test
Let's test that we can have shared zeropages in our process as long as
storage keys are not getting used, that shared zeropages are properly
unshared (replaced by anonymous pages) once storage keys are enabled,
and that no new shared zeropages are populated after storage keys
were enabled.

We require the new pagemap interface to detect the shared zeropage.

On an old kernel (zeropages always disabled):
	# ./s390x/shared_zeropage_test
	TAP version 13
	1..3
	not ok 1 Shared zeropages should be enabled
	ok 2 Shared zeropage should be gone
	ok 3 Shared zeropages should be disabled
	# Totals: pass:2 fail:1 xfail:0 xpass:0 skip:0 error:0

On a fixed kernel:
	# ./s390x/shared_zeropage_test
	TAP version 13
	1..3
	ok 1 Shared zeropages should be enabled
	ok 2 Shared zeropage should be gone
	ok 3 Shared zeropages should be disabled
	# Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0

Testing of UFFDIO_ZEROPAGE can be added later.

[ agordeev: Fixed checkpatch complaint, added ucall_common.h include ]

Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Janosch Frank <frankja@linux.ibm.com>
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Tested-by: Alexander Gordeev <agordeev@linux.ibm.com>
Link: https://lore.kernel.org/r/20240412084329.30315-1-david@redhat.com
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
2024-06-05 17:03:24 +02:00
..
aarch64 KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
include selftests/kvm: remove dead file 2024-05-15 13:40:16 -04:00
lib KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
riscv KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
s390x KVM: s390x: selftests: Add shared zeropage test 2024-06-05 17:03:24 +02:00
x86_64 KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
.gitignore KVM: selftests: Use pattern matching in .gitignore 2022-12-27 06:00:46 -05:00
Makefile KVM: s390x: selftests: Add shared zeropage test 2024-06-05 17:03:24 +02:00
access_tracking_perf_test.c Merge remote-tracking branch 'kvm/queue' into HEAD 2022-12-12 15:54:07 -05:00
arch_timer.c Revert "kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h" 2024-04-29 12:54:13 -07:00
config KVM: selftests: Fixup config fragment for access_tracking_perf_test 2023-03-30 19:27:56 +01:00
demand_paging_test.c KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
dirty_log_perf_test.c KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
dirty_log_test.c Revert "kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h" 2024-04-29 12:54:13 -07:00
get-reg-list.c KVM: selftests: Remove redundant newlines 2024-01-29 08:39:14 -08:00
guest_memfd_test.c Revert "kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h" 2024-04-29 12:54:13 -07:00
guest_print_test.c Revert "kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h" 2024-04-29 12:54:13 -07:00
hardware_disable_test.c KVM: selftests: Define _GNU_SOURCE for all selftests code 2024-04-29 12:49:10 -07:00
kvm_binary_stats_test.c KVM: selftests: Define _GNU_SOURCE for all selftests code 2024-04-29 12:49:10 -07:00
kvm_create_max_vcpus.c KVM: selftests: Define _GNU_SOURCE for all selftests code 2024-04-29 12:49:10 -07:00
kvm_page_table_test.c Revert "kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h" 2024-04-29 12:54:13 -07:00
max_guest_memory_test.c KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
memslot_modification_stress_test.c KVM: selftests: Define _GNU_SOURCE for all selftests code 2024-04-29 12:49:10 -07:00
memslot_perf_test.c KVM: selftests: Remove redundant newlines 2024-01-29 08:39:14 -08:00
rseq_test.c KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
set_memory_region_test.c KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
settings selftests: kvm: Raise the default timeout to 120 seconds 2021-02-09 08:17:08 -05:00
steal_time.c KVM selftests treewide updates for 6.10: 2024-05-12 03:18:11 -04:00
system_counter_offset_test.c KVM: selftests: Remove redundant newlines 2024-01-29 08:39:14 -08:00