Message ID | 20211111001257.1446428-1-dmatlack@google.com (mailing list archive) |
---|---|
Headers | show |
Series | KVM: selftests: Avoid mmap_sem contention during memory population | expand |
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@google.com/, > 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
On Tue, Nov 16, 2021 at 3:13 AM Paolo Bonzini <pbonzini@redhat.com> wrote: > > Queued, thanks. I was planning to send a v2 to resolve the feedback on [PATCH 3/4] from Sean and Ben. How should I proceed? The code should be functional as is so I can send a follow-on or you can make the changes Sean suggested (it's pretty straight forward).