Re: [PATCH 0/4] KVM: selftests: Avoid mmap_sem contention during memory population

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/11/21 01:12, David Matlack wrote:
This series fixes a performance issue in the KVM selftests, specifically
those that use perf_test_util. These tests create vCPU threads which
immediately enter guest mode and start faulting in memory. Creating
vCPU threads while faulting in memory is a recipe for generating a lot
of contention on the mmap_sem, as thread creation requires acquiring the
mmap_sem in write mode.

This series fixes this issue by ensuring that all vCPUs threads are
created before entering guest mode. As part of fixing this issue I
consolidated the code to create and join vCPU threads across all users
of perf_test_util.

The last commit is an unrelated perf_test_util cleanup.

Note: This series applies on top of
https://lore.kernel.org/kvm/20211111000310.1435032-1-dmatlack@xxxxxxxxxx/,
although the dependency on the series is just cosmetic.

David Matlack (4):
   KVM: selftests: Start at iteration 0 instead of -1
   KVM: selftests: Move vCPU thread creation and joining to common
     helpers
   KVM: selftests: Wait for all vCPU to be created before entering guest
     mode
   KVM: selftests: Use perf_test_destroy_vm in
     memslot_modification_stress_test

  .../selftests/kvm/access_tracking_perf_test.c | 46 +++---------
  .../selftests/kvm/demand_paging_test.c        | 25 +------
  .../selftests/kvm/dirty_log_perf_test.c       | 19 ++---
  .../selftests/kvm/include/perf_test_util.h    |  5 ++
  .../selftests/kvm/lib/perf_test_util.c        | 72 +++++++++++++++++++
  .../kvm/memslot_modification_stress_test.c    | 25 ++-----
  6 files changed, 96 insertions(+), 96 deletions(-)


Queued, thanks.

Paolo




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux