mirror_ubuntu-kernels/tools/testing/selftests/kvm
Axel Rasmussen a4b9722a59 KVM: selftests: allow using UFFD minor faults for demand paging
UFFD handling of MINOR faults is a new feature whose use case is to
speed up demand paging (compared to MISSING faults). So, it's
interesting to let this selftest exercise this new mode.

Modify the demand paging test to have the option of using UFFD minor
faults, as opposed to missing faults. Now, when turning on userfaultfd
with '-u', the desired mode has to be specified ("MISSING" or "MINOR").

If we're in minor mode, before registering, prefault via the *alias*.
This way, the guest will trigger minor faults, instead of missing
faults, and we can UFFDIO_CONTINUE to resolve them.

Modify the page fault handler function to use the right ioctl depending
on the mode we're running in. In MINOR mode, use UFFDIO_CONTINUE.

Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Message-Id: <20210519200339.829146-10-axelrasmussen@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-05-27 07:45:57 -04:00
..
aarch64 KVM: selftests: vgic_init kvm selftests fixup 2021-04-07 15:50:50 +01:00
include KVM: selftests: create alias mappings when using shared memory 2021-05-27 07:45:56 -04:00
lib KVM: selftests: create alias mappings when using shared memory 2021-05-27 07:45:56 -04:00
s390x KVM: selftests: sync_regs test for diag318 2020-12-10 13:36:05 +01:00
x86_64 KVM: selftests: Print a message if /dev/kvm is missing 2021-05-27 07:45:55 -04:00
.gitignore KVM: selftests: add a memslot-related performance benchmark 2021-05-27 07:45:54 -04:00
config selftests: kvm: Adding config fragments 2019-08-09 16:52:38 +02:00
demand_paging_test.c KVM: selftests: allow using UFFD minor faults for demand paging 2021-05-27 07:45:57 -04:00
dirty_log_perf_test.c KVM: selftests: Disable dirty logging with vCPUs running 2021-02-04 05:27:20 -05:00
dirty_log_test.c KVM: selftests: Always run vCPU thread with blocked SIG_IPI 2021-04-21 12:20:02 -04:00
hardware_disable_test.c KVM: selftests: Fix hang in hardware_disable_test 2021-05-27 07:45:55 -04:00
kvm_create_max_vcpus.c KVM: selftests: Convert some printf's to pr_info's 2020-03-16 17:57:07 +01:00
kvm_page_table_test.c KVM: selftests: Add a test for kvm page table code 2021-04-20 04:18:53 -04:00
Makefile KVM: selftests: add a memslot-related performance benchmark 2021-05-27 07:45:54 -04:00
memslot_modification_stress_test.c KVM: selftests: Fix 32-bit truncation of vm_get_max_gfn() 2021-05-27 07:45:54 -04:00
memslot_perf_test.c KVM: selftests: add a memslot-related performance benchmark 2021-05-27 07:45:54 -04:00
set_memory_region_test.c KVM: selftests: Speed up set_memory_region_test 2021-04-26 12:21:27 -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: Rework timespec functions and usage 2020-03-18 14:08:56 +01:00