mbox series

[00/11] KVM: selftests: Cleanups

Message ID 20201104212357.171559-1-drjones@redhat.com (mailing list archive)
Headers show
Series KVM: selftests: Cleanups | expand

Message

Andrew Jones Nov. 4, 2020, 9:23 p.m. UTC
This series attempts to clean up demand_paging_test and dirty_log_test
by factoring out common code, creating some new API along the way. It's
main goal is to prepare for even more factoring that Ben and Peter want
to do. The series would have a nice negative diff stat, but it also
picks up a few of Peter's patches for his new dirty log test. So, the
+/- diff stat is close to equal. It's not as close as an electoral vote
count, but it's close.

I've tested on x86 and AArch64 (one config each), but not s390x.

Thanks,
drew


Andrew Jones (8):
  KVM: selftests: Add x86_64/tsc_msrs_test to .gitignore
  KVM: selftests: Drop pointless vm_create wrapper
  KVM: selftests: Make the per vcpu memory size global
  KVM: selftests: Make the number of vcpus global
  KVM: selftests: Factor out guest mode code
  KVM: selftests: Make vm_create_default common
  KVM: selftests: Introduce vm_create_[default_]vcpus
  KVM: selftests: Remove create_vm

Peter Xu (3):
  KVM: selftests: Always clear dirty bitmap after iteration
  KVM: selftests: Use a single binary for dirty/clear log test
  KVM: selftests: Introduce after_vcpu_run hook for dirty log test

 tools/testing/selftests/kvm/.gitignore        |   2 +-
 tools/testing/selftests/kvm/Makefile          |   4 +-
 .../selftests/kvm/clear_dirty_log_test.c      |   6 -
 .../selftests/kvm/demand_paging_test.c        | 213 +++-------
 tools/testing/selftests/kvm/dirty_log_test.c  | 372 ++++++++++--------
 .../selftests/kvm/include/aarch64/processor.h |   3 +
 .../selftests/kvm/include/guest_modes.h       |  21 +
 .../testing/selftests/kvm/include/kvm_util.h  |  20 +-
 .../selftests/kvm/include/s390x/processor.h   |   4 +
 .../selftests/kvm/include/x86_64/processor.h  |   4 +
 .../selftests/kvm/lib/aarch64/processor.c     |  17 -
 tools/testing/selftests/kvm/lib/guest_modes.c |  70 ++++
 tools/testing/selftests/kvm/lib/kvm_util.c    |  62 ++-
 .../selftests/kvm/lib/s390x/processor.c       |  22 --
 .../selftests/kvm/lib/x86_64/processor.c      |  32 --
 15 files changed, 445 insertions(+), 407 deletions(-)
 delete mode 100644 tools/testing/selftests/kvm/clear_dirty_log_test.c
 create mode 100644 tools/testing/selftests/kvm/include/guest_modes.h
 create mode 100644 tools/testing/selftests/kvm/lib/guest_modes.c

Comments

Christian Borntraeger Nov. 5, 2020, 7:08 a.m. UTC | #1
On 04.11.20 22:23, Andrew Jones wrote:
> This series attempts to clean up demand_paging_test and dirty_log_test
> by factoring out common code, creating some new API along the way. It's
> main goal is to prepare for even more factoring that Ben and Peter want
> to do. The series would have a nice negative diff stat, but it also
> picks up a few of Peter's patches for his new dirty log test. So, the
> +/- diff stat is close to equal. It's not as close as an electoral vote
> count, but it's close.
> 
> I've tested on x86 and AArch64 (one config each), but not s390x.

I see no regression when I run 
make TARGETS=kvm kselftest

on an s390 system with these patches applied.

Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>


> Thanks,
> drew
> 
> 
> Andrew Jones (8):
>   KVM: selftests: Add x86_64/tsc_msrs_test to .gitignore
>   KVM: selftests: Drop pointless vm_create wrapper
>   KVM: selftests: Make the per vcpu memory size global
>   KVM: selftests: Make the number of vcpus global
>   KVM: selftests: Factor out guest mode code
>   KVM: selftests: Make vm_create_default common
>   KVM: selftests: Introduce vm_create_[default_]vcpus
>   KVM: selftests: Remove create_vm
> 
> Peter Xu (3):
>   KVM: selftests: Always clear dirty bitmap after iteration
>   KVM: selftests: Use a single binary for dirty/clear log test
>   KVM: selftests: Introduce after_vcpu_run hook for dirty log test
> 
>  tools/testing/selftests/kvm/.gitignore        |   2 +-
>  tools/testing/selftests/kvm/Makefile          |   4 +-
>  .../selftests/kvm/clear_dirty_log_test.c      |   6 -
>  .../selftests/kvm/demand_paging_test.c        | 213 +++-------
>  tools/testing/selftests/kvm/dirty_log_test.c  | 372 ++++++++++--------
>  .../selftests/kvm/include/aarch64/processor.h |   3 +
>  .../selftests/kvm/include/guest_modes.h       |  21 +
>  .../testing/selftests/kvm/include/kvm_util.h  |  20 +-
>  .../selftests/kvm/include/s390x/processor.h   |   4 +
>  .../selftests/kvm/include/x86_64/processor.h  |   4 +
>  .../selftests/kvm/lib/aarch64/processor.c     |  17 -
>  tools/testing/selftests/kvm/lib/guest_modes.c |  70 ++++
>  tools/testing/selftests/kvm/lib/kvm_util.c    |  62 ++-
>  .../selftests/kvm/lib/s390x/processor.c       |  22 --
>  .../selftests/kvm/lib/x86_64/processor.c      |  32 --
>  15 files changed, 445 insertions(+), 407 deletions(-)
>  delete mode 100644 tools/testing/selftests/kvm/clear_dirty_log_test.c
>  create mode 100644 tools/testing/selftests/kvm/include/guest_modes.h
>  create mode 100644 tools/testing/selftests/kvm/lib/guest_modes.c
>
Peter Xu Nov. 5, 2020, 6:55 p.m. UTC | #2
On Wed, Nov 04, 2020 at 10:23:46PM +0100, Andrew Jones wrote:
> This series attempts to clean up demand_paging_test and dirty_log_test
> by factoring out common code, creating some new API along the way. It's
> main goal is to prepare for even more factoring that Ben and Peter want
> to do. The series would have a nice negative diff stat, but it also
> picks up a few of Peter's patches for his new dirty log test. So, the
> +/- diff stat is close to equal. It's not as close as an electoral vote
> count, but it's close.
> 
> I've tested on x86 and AArch64 (one config each), but not s390x.

The whole series looks good to me (probably except the PTRS_PER_PAGE one; but
that's not hurting much anyways, I think).  Thanks for picking up the other
patches, even if they made the diff stat much less pretty..
Ben Gardon Nov. 5, 2020, 7:41 p.m. UTC | #3
On Thu, Nov 5, 2020 at 10:56 AM Peter Xu <peterx@redhat.com> wrote:
>
> On Wed, Nov 04, 2020 at 10:23:46PM +0100, Andrew Jones wrote:
> > This series attempts to clean up demand_paging_test and dirty_log_test
> > by factoring out common code, creating some new API along the way. It's
> > main goal is to prepare for even more factoring that Ben and Peter want
> > to do. The series would have a nice negative diff stat, but it also
> > picks up a few of Peter's patches for his new dirty log test. So, the
> > +/- diff stat is close to equal. It's not as close as an electoral vote
> > count, but it's close.
> >
> > I've tested on x86 and AArch64 (one config each), but not s390x.
>
> The whole series looks good to me (probably except the PTRS_PER_PAGE one; but
> that's not hurting much anyways, I think).  Thanks for picking up the other
> patches, even if they made the diff stat much less pretty..

This series looks good to me too. Thanks for doing this Drew!

Sorry I'm later than I wanted to be in reviewing this series. I
learned I was exposed to someone with COVID yesterday, so I've been a
bit scattered. The dirty log perf test series v3 might be delayed a
bit as a result, but I'll send it out as soon as I can after this
series is merged.

>
> --
> Peter Xu
>
Andrew Jones Nov. 6, 2020, 9:45 a.m. UTC | #4
On Thu, Nov 05, 2020 at 11:41:24AM -0800, Ben Gardon wrote:
> On Thu, Nov 5, 2020 at 10:56 AM Peter Xu <peterx@redhat.com> wrote:
> >
> > On Wed, Nov 04, 2020 at 10:23:46PM +0100, Andrew Jones wrote:
> > > This series attempts to clean up demand_paging_test and dirty_log_test
> > > by factoring out common code, creating some new API along the way. It's
> > > main goal is to prepare for even more factoring that Ben and Peter want
> > > to do. The series would have a nice negative diff stat, but it also
> > > picks up a few of Peter's patches for his new dirty log test. So, the
> > > +/- diff stat is close to equal. It's not as close as an electoral vote
> > > count, but it's close.
> > >
> > > I've tested on x86 and AArch64 (one config each), but not s390x.
> >
> > The whole series looks good to me (probably except the PTRS_PER_PAGE one; but
> > that's not hurting much anyways, I think).  Thanks for picking up the other
> > patches, even if they made the diff stat much less pretty..
> 
> This series looks good to me too. Thanks for doing this Drew!
> 
> Sorry I'm later than I wanted to be in reviewing this series. I
> learned I was exposed to someone with COVID yesterday, so I've been a
> bit scattered. The dirty log perf test series v3 might be delayed a
> bit as a result, but I'll send it out as soon as I can after this
> series is merged.
>

Yikes! Don't worry about KVM selftests then. Except for one more question?
Can I translate your "looks good to me" into a r-b for the series? And,
same question for Peter. I'll be respinning witht eh PTES_PER_PAGE change
and can add your guys' r-b's if you want to give them.

Thanks,
drew
Paolo Bonzini Nov. 6, 2020, 1:01 p.m. UTC | #5
On 04/11/20 22:23, Andrew Jones wrote:
> This series attempts to clean up demand_paging_test and dirty_log_test
> by factoring out common code, creating some new API along the way. It's
> main goal is to prepare for even more factoring that Ben and Peter want
> to do. The series would have a nice negative diff stat, but it also
> picks up a few of Peter's patches for his new dirty log test. So, the
> +/- diff stat is close to equal. It's not as close as an electoral vote
> count, but it's close.
> 
> I've tested on x86 and AArch64 (one config each), but not s390x.
> 
> Thanks,
> drew
> 
> 
> Andrew Jones (8):
>    KVM: selftests: Add x86_64/tsc_msrs_test to .gitignore
>    KVM: selftests: Drop pointless vm_create wrapper
>    KVM: selftests: Make the per vcpu memory size global
>    KVM: selftests: Make the number of vcpus global
>    KVM: selftests: Factor out guest mode code
>    KVM: selftests: Make vm_create_default common
>    KVM: selftests: Introduce vm_create_[default_]vcpus
>    KVM: selftests: Remove create_vm
> 
> Peter Xu (3):
>    KVM: selftests: Always clear dirty bitmap after iteration
>    KVM: selftests: Use a single binary for dirty/clear log test
>    KVM: selftests: Introduce after_vcpu_run hook for dirty log test
> 
>   tools/testing/selftests/kvm/.gitignore        |   2 +-
>   tools/testing/selftests/kvm/Makefile          |   4 +-
>   .../selftests/kvm/clear_dirty_log_test.c      |   6 -
>   .../selftests/kvm/demand_paging_test.c        | 213 +++-------
>   tools/testing/selftests/kvm/dirty_log_test.c  | 372 ++++++++++--------
>   .../selftests/kvm/include/aarch64/processor.h |   3 +
>   .../selftests/kvm/include/guest_modes.h       |  21 +
>   .../testing/selftests/kvm/include/kvm_util.h  |  20 +-
>   .../selftests/kvm/include/s390x/processor.h   |   4 +
>   .../selftests/kvm/include/x86_64/processor.h  |   4 +
>   .../selftests/kvm/lib/aarch64/processor.c     |  17 -
>   tools/testing/selftests/kvm/lib/guest_modes.c |  70 ++++
>   tools/testing/selftests/kvm/lib/kvm_util.c    |  62 ++-
>   .../selftests/kvm/lib/s390x/processor.c       |  22 --
>   .../selftests/kvm/lib/x86_64/processor.c      |  32 --
>   15 files changed, 445 insertions(+), 407 deletions(-)
>   delete mode 100644 tools/testing/selftests/kvm/clear_dirty_log_test.c
>   create mode 100644 tools/testing/selftests/kvm/include/guest_modes.h
>   create mode 100644 tools/testing/selftests/kvm/lib/guest_modes.c
> 

Queued (or overridden by patches already in queue) patches 1-8, thanks.
Peter Xu Nov. 6, 2020, 3:04 p.m. UTC | #6
On Fri, Nov 06, 2020 at 10:45:11AM +0100, Andrew Jones wrote:
> Yikes! Don't worry about KVM selftests then. Except for one more question?
> Can I translate your "looks good to me" into a r-b for the series? And,
> same question for Peter. I'll be respinning witht eh PTES_PER_PAGE change
> and can add your guys' r-b's if you want to give them.

Yes, please feel free to add with mine (if there's a repost).  Though I see
that Paolo has queued the series already, so maybe it's even easier to directly
work on top.

Thanks!
Ben Gardon Nov. 9, 2020, 5:11 p.m. UTC | #7
On Fri, Nov 6, 2020 at 7:04 AM Peter Xu <peterx@redhat.com> wrote:
>
> On Fri, Nov 06, 2020 at 10:45:11AM +0100, Andrew Jones wrote:
> > Yikes! Don't worry about KVM selftests then. Except for one more question?
> > Can I translate your "looks good to me" into a r-b for the series? And,
> > same question for Peter. I'll be respinning witht eh PTES_PER_PAGE change
> > and can add your guys' r-b's if you want to give them.

Ah yes, please add my reviewed-by as well, sorry that wasn't clear.

>
> Yes, please feel free to add with mine (if there's a repost).  Though I see
> that Paolo has queued the series already, so maybe it's even easier to directly
> work on top.
>
> Thanks!
>
> --
> Peter Xu
>