All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] KVM ARM64 pre_fault_memory
@ 2026-01-13 15:26 Jack Thomson
  2026-01-13 15:26 ` [PATCH v4 1/3] KVM: arm64: Add pre_fault_memory implementation Jack Thomson
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jack Thomson @ 2026-01-13 15:26 UTC (permalink / raw)
  To: maz, oliver.upton, pbonzini
  Cc: joey.gouly, suzuki.poulose, yuzenghui, catalin.marinas, will,
	shuah, linux-arm-kernel, kvmarm, linux-kernel, linux-kselftest,
	isaku.yamahata, xmarcalx, kalyazin, jackabt

From: Jack Thomson <jackabt@amazon.com>

This patch series adds ARM64 support for the KVM_PRE_FAULT_MEMORY
feature, which was previously only available on x86 [1]. This allows us
to reduce the number of stage-2 faults during execution. This is of
benefit in post-copy migration scenarios, particularly in memory
intensive applications, where we are experiencing high latencies due to
the stage-2 faults.

Patch Overview:

 - The first patch adds support for the KVM_PRE_FAULT_MEMORY ioctl
   on arm64.

 - The second patch updates the pre_fault_memory_test to support
   arm64.

 - The last patch extends the pre_fault_memory_test to cover
   different vm memory backings.


With regards to the additional parameter to `user_mem_abort`, noted in
the v3 review, would you like this to be fixed in this series or would
a follow-up series be ok? I also found a series from Sean which looks
to address this [2].

=== Changes Since v3 [3] ===

 - Updated to now return -EOPNOTSUPP for pKVM. Previously this was not 
   checked.
 - When running a nested guest, properly resolve the L2 IPA to L1 IPA 
   before pre faulting.
 - Refactoring, page_size is now unsigned and ordered definitions at 
   top of pre_fault function.

Thanks Marc for your review

=== Changes Since v2 [4] ===

 - Update fault info synthesize value. Thanks Suzuki
 - Remove change to selftests for unaligned mmap allocations. Thanks
   Sean

[1]: https://lore.kernel.org/kvm/20240710174031.312055-1-pbonzini@redhat.com
[2]: https://lore.kernel.org/linux-arm-kernel/20250821210042.3451147-1-seanjc@google.com/
[3]: https://lore.kernel.org/linux-arm-kernel/20251119154910.97716-1-jackabt.amazon@gmail.com
[4]: https://lore.kernel.org/linux-arm-kernel/20251013151502.6679-1-jackabt.amazon@gmail.com

Jack Thomson (3):
  KVM: arm64: Add pre_fault_memory implementation
  KVM: selftests: Enable pre_fault_memory_test for arm64
  KVM: selftests: Add option for different backing in pre-fault tests

 Documentation/virt/kvm/api.rst                |   3 +-
 arch/arm64/kvm/Kconfig                        |   1 +
 arch/arm64/kvm/arm.c                          |   1 +
 arch/arm64/kvm/mmu.c                          |  79 +++++++++++-
 tools/testing/selftests/kvm/Makefile.kvm      |   1 +
 .../selftests/kvm/pre_fault_memory_test.c     | 115 ++++++++++++++----
 6 files changed, 169 insertions(+), 31 deletions(-)


base-commit: 3611ca7c12b740e250d83f8bbe3554b740c503b0
-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-01-19 11:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-13 15:26 [PATCH v4 0/3] KVM ARM64 pre_fault_memory Jack Thomson
2026-01-13 15:26 ` [PATCH v4 1/3] KVM: arm64: Add pre_fault_memory implementation Jack Thomson
2026-01-15  9:51   ` Marc Zyngier
2026-01-16 14:33     ` Thomson, Jack
2026-01-18 10:29       ` Marc Zyngier
2026-01-19 11:10         ` Thomson, Jack
2026-01-13 15:26 ` [PATCH v4 2/3] KVM: selftests: Enable pre_fault_memory_test for arm64 Jack Thomson
2026-01-13 15:26 ` [PATCH v4 3/3] KVM: selftests: Add option for different backing in pre-fault tests Jack Thomson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.