All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/7] dirty_log_perf_test vCPU pinning
@ 2022-11-02 23:27 Vipin Sharma
  2022-11-02 23:27 ` [PATCH v8 1/7] KVM: selftests: Add missing break between -e and -g option in dirty_log_perf_test Vipin Sharma
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Vipin Sharma @ 2022-11-02 23:27 UTC (permalink / raw)
  To: seanjc, pbonzini, dmatlack
  Cc: andrew.jones, wei.w.wang, kvm, linux-kernel, Vipin Sharma

Pin vCPUs to a host physical CPUs (pCPUs) in dirty_log_perf_test and
optionally pin the main application thread to a physical cpu if
provided. All tests based on perf_test_util framework can take advantage
of it if needed.

While at it, I changed atoi() to atoi_paranoid(), atoi_positive,
atoi_non_negative() in other tests, sorted command line options
alphabetically in dirty_log_perf_test, and added break between -e and -g
which was missed in original commit when -e was introduced.

v8:
- Changed atoi_positive() and atoi_non_negative() to accept variable name also.
- Moved atoi_positive() and atoi_non_negative() definition to test_util.h
- Removed new line character from TEST_ASSERT() statements.
- Using official SZ_1G from sizes.h header file in max_guest_memory_test.c
- Shortened test args name in memslot_modification_stress_test.c

v7: https://lore.kernel.org/lkml/20221031173819.1035684-1-vipinsh@google.com/
- Moved pinning APIs from perf_test_util.c to kvm_util.c.
- Missed one atoi() call in aarch64/debug-exceptions.c, changed it to
  atoi_positive().

v6: https://lore.kernel.org/lkml/20221021211816.1525201-1-vipinsh@google.com/
- Updated the shortlog of Patch 5.
- Changed formatting of help text of -c in dirty_log_perf_test

v5: https://lore.kernel.org/lkml/20221010220538.1154054-1-vipinsh@google.com/
- Added atoi_postive() and atoi_non_negative() APIs for string parsing.
- Using sched_getaffinity() to verify if a pCPU is allowed or not.
- Changed Suggested-by to add only person came up with original idea of
  pinning.
- Updated strings and commit messages.

v4: https://lore.kernel.org/lkml/20221006171133.372359-1-vipinsh@google.com/
- Moved boolean to check vCPUs pinning from perf_test_vcpu_args to
  perf_test_args.
- Changed assert statements to make error more descriptive.
- Modified break statement between 'e' and 'g' option in v3 by not copying
  dirty_log_manual_caps = 0 to 'e'.

v3: https://lore.kernel.org/lkml/20220826184500.1940077-1-vipinsh@google.com
- Moved atoi_paranoid() to test_util.c and replaced all atoi() usage
  with atoi_paranoid()
- Sorted command line options alphabetically.
- Instead of creating a vcpu thread on a specific pcpu the thread will
  migrate to the provided pcpu after its creation.
- Decoupled -e and -g option.

v2: https://lore.kernel.org/lkml/20220819210737.763135-1-vipinsh@google.com/
- Removed -d option.
- One cpu list passed as option, cpus for vcpus, followed by
  application thread cpu.
- Added paranoid cousin of atoi().

v1: https://lore.kernel.org/lkml/20220817152956.4056410-1-vipinsh@google.com


Vipin Sharma (7):
  KVM: selftests: Add missing break between -e and -g option in
    dirty_log_perf_test
  KVM: selftests: Put command line options in alphabetical order in
    dirty_log_perf_test
  KVM: selftests: Add atoi_paranoid() to catch errors missed by atoi()
  KVM: selftests: Use SZ_1G from sizes.h in max_guest_memory_test.c
  KVM: selftests: Shorten the test args in
    memslot_modification_stress_test.c
  KVM: selftests: Add atoi_positive() and atoi_non_negative() for input
    validation
  KVM: selftests: Allowing running dirty_log_perf_test on specific CPUs

 .../selftests/kvm/aarch64/arch_timer.c        | 25 ++------
 .../selftests/kvm/aarch64/debug-exceptions.c  |  2 +-
 .../testing/selftests/kvm/aarch64/vgic_irq.c  |  6 +-
 .../selftests/kvm/access_tracking_perf_test.c |  2 +-
 .../selftests/kvm/demand_paging_test.c        |  4 +-
 .../selftests/kvm/dirty_log_perf_test.c       | 64 +++++++++++++------
 .../selftests/kvm/include/kvm_util_base.h     |  4 ++
 .../selftests/kvm/include/perf_test_util.h    |  4 ++
 .../testing/selftests/kvm/include/test_util.h | 18 ++++++
 .../selftests/kvm/kvm_page_table_test.c       |  4 +-
 tools/testing/selftests/kvm/lib/kvm_util.c    | 54 ++++++++++++++++
 .../selftests/kvm/lib/perf_test_util.c        |  8 ++-
 tools/testing/selftests/kvm/lib/test_util.c   | 19 ++++++
 .../selftests/kvm/max_guest_memory_test.c     | 21 +++---
 .../kvm/memslot_modification_stress_test.c    | 22 +++----
 .../testing/selftests/kvm/memslot_perf_test.c | 24 ++-----
 .../selftests/kvm/set_memory_region_test.c    |  2 +-
 .../selftests/kvm/x86_64/nx_huge_pages_test.c |  5 +-
 18 files changed, 191 insertions(+), 97 deletions(-)

-- 
2.38.1.273.g43a17bfeac-goog


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

end of thread, other threads:[~2022-11-03 18:57 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-02 23:27 [PATCH v8 0/7] dirty_log_perf_test vCPU pinning Vipin Sharma
2022-11-02 23:27 ` [PATCH v8 1/7] KVM: selftests: Add missing break between -e and -g option in dirty_log_perf_test Vipin Sharma
2022-11-02 23:27 ` [PATCH v8 2/7] KVM: selftests: Put command line options in alphabetical order " Vipin Sharma
2022-11-02 23:27 ` [PATCH v8 3/7] KVM: selftests: Add atoi_paranoid() to catch errors missed by atoi() Vipin Sharma
2022-11-03  0:18   ` Sean Christopherson
2022-11-02 23:27 ` [PATCH v8 4/7] KVM: selftests: Use SZ_1G from sizes.h in max_guest_memory_test.c Vipin Sharma
2022-11-02 23:44   ` Sean Christopherson
2022-11-02 23:27 ` [PATCH v8 5/7] KVM: selftests: Shorten the test args in memslot_modification_stress_test.c Vipin Sharma
2022-11-02 23:45   ` Sean Christopherson
2022-11-03  0:16     ` Sean Christopherson
2022-11-03 18:56       ` Vipin Sharma
2022-11-02 23:27 ` [PATCH v8 6/7] KVM: selftests: Add atoi_positive() and atoi_non_negative() for input validation Vipin Sharma
2022-11-03  0:17   ` Sean Christopherson
2022-11-02 23:27 ` [PATCH v8 7/7] KVM: selftests: Allowing running dirty_log_perf_test on specific CPUs Vipin Sharma

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.