mbox series

[v3,0/5] Guestperf: miscellaneous refinement and enrichment

Message ID cover.1729562974.git.yong.huang@smartx.com
Headers show
Series Guestperf: miscellaneous refinement and enrichment | expand

Message

Yong Huang Oct. 22, 2024, 2:14 a.m. UTC
From: Hyman Huang <yong.huang@smartx.com>

v3:
1. Remove the two redundant assignments in [PATCH v2 2/5] suggested by Daniel 

Please review, thanks
Yong

v2:
1. Update the MAINTAINERS section suggested by Fabiano Rosas 
2. Ensure the dependencies when build the initrd-stress.img suggested by Daniel
3. Fix some bugs

v1:
The previous patchset:
https://lore.kernel.org/qemu-devel/cover.1722957352.git.yong.huang@smartx.com/
does not made the necessary changes and tests for the upstream version.

This patchset works for that:
1. Move the guestperf to scripts directory suggested by Fabiano Rosas
2. Make initrd-stress.img built by default suggested by Fabiano Rosas
3. Make the necessary changes to adapt the latest multifd behavior
4. A nitpick for multifd migration
5. Support multifd compression option

Hyman Huang (5):
  tests/migration: Move the guestperf tool to scripts directory
  tests/migration: Make initrd-stress.img built by default
  guestperf: Support deferred migration for multifd
  guestperf: Nitpick the inconsistent parameters
  guestperf: Introduce multifd compression option

 MAINTAINERS                                   |  5 +++
 .../migration/guestperf-batch.py              |  0
 .../migration/guestperf-plot.py               |  0
 {tests => scripts}/migration/guestperf.py     |  0
 .../migration/guestperf/__init__.py           |  0
 .../migration/guestperf/comparison.py         | 15 ++++++++-
 .../migration/guestperf/engine.py             | 33 ++++++++++++++++---
 .../migration/guestperf/hardware.py           |  0
 .../migration/guestperf/plot.py               |  0
 .../migration/guestperf/progress.py           |  0
 .../migration/guestperf/report.py             |  0
 .../migration/guestperf/scenario.py           |  7 ++--
 .../migration/guestperf/shell.py              |  3 ++
 .../migration/guestperf/timings.py            |  0
 tests/migration/meson.build                   | 30 +++++++++--------
 15 files changed, 73 insertions(+), 20 deletions(-)
 rename {tests => scripts}/migration/guestperf-batch.py (100%)
 rename {tests => scripts}/migration/guestperf-plot.py (100%)
 rename {tests => scripts}/migration/guestperf.py (100%)
 rename {tests => scripts}/migration/guestperf/__init__.py (100%)
 rename {tests => scripts}/migration/guestperf/comparison.py (89%)
 rename {tests => scripts}/migration/guestperf/engine.py (93%)
 rename {tests => scripts}/migration/guestperf/hardware.py (100%)
 rename {tests => scripts}/migration/guestperf/plot.py (100%)
 rename {tests => scripts}/migration/guestperf/progress.py (100%)
 rename {tests => scripts}/migration/guestperf/report.py (100%)
 rename {tests => scripts}/migration/guestperf/scenario.py (93%)
 rename {tests => scripts}/migration/guestperf/shell.py (98%)
 rename {tests => scripts}/migration/guestperf/timings.py (100%)

Comments

Fabiano Rosas Oct. 23, 2024, 3:05 p.m. UTC | #1
yong.huang@smartx.com writes:

> From: Hyman Huang <yong.huang@smartx.com>
>
> v3:
> 1. Remove the two redundant assignments in [PATCH v2 2/5] suggested by Daniel 
>
> Please review, thanks
> Yong
>
> v2:
> 1. Update the MAINTAINERS section suggested by Fabiano Rosas 
> 2. Ensure the dependencies when build the initrd-stress.img suggested by Daniel
> 3. Fix some bugs
>
> v1:
> The previous patchset:
> https://lore.kernel.org/qemu-devel/cover.1722957352.git.yong.huang@smartx.com/
> does not made the necessary changes and tests for the upstream version.
>
> This patchset works for that:
> 1. Move the guestperf to scripts directory suggested by Fabiano Rosas
> 2. Make initrd-stress.img built by default suggested by Fabiano Rosas
> 3. Make the necessary changes to adapt the latest multifd behavior
> 4. A nitpick for multifd migration
> 5. Support multifd compression option
>
> Hyman Huang (5):
>   tests/migration: Move the guestperf tool to scripts directory
>   tests/migration: Make initrd-stress.img built by default
>   guestperf: Support deferred migration for multifd
>   guestperf: Nitpick the inconsistent parameters
>   guestperf: Introduce multifd compression option
>
>  MAINTAINERS                                   |  5 +++
>  .../migration/guestperf-batch.py              |  0
>  .../migration/guestperf-plot.py               |  0
>  {tests => scripts}/migration/guestperf.py     |  0
>  .../migration/guestperf/__init__.py           |  0
>  .../migration/guestperf/comparison.py         | 15 ++++++++-
>  .../migration/guestperf/engine.py             | 33 ++++++++++++++++---
>  .../migration/guestperf/hardware.py           |  0
>  .../migration/guestperf/plot.py               |  0
>  .../migration/guestperf/progress.py           |  0
>  .../migration/guestperf/report.py             |  0
>  .../migration/guestperf/scenario.py           |  7 ++--
>  .../migration/guestperf/shell.py              |  3 ++
>  .../migration/guestperf/timings.py            |  0
>  tests/migration/meson.build                   | 30 +++++++++--------
>  15 files changed, 73 insertions(+), 20 deletions(-)
>  rename {tests => scripts}/migration/guestperf-batch.py (100%)
>  rename {tests => scripts}/migration/guestperf-plot.py (100%)
>  rename {tests => scripts}/migration/guestperf.py (100%)
>  rename {tests => scripts}/migration/guestperf/__init__.py (100%)
>  rename {tests => scripts}/migration/guestperf/comparison.py (89%)
>  rename {tests => scripts}/migration/guestperf/engine.py (93%)
>  rename {tests => scripts}/migration/guestperf/hardware.py (100%)
>  rename {tests => scripts}/migration/guestperf/plot.py (100%)
>  rename {tests => scripts}/migration/guestperf/progress.py (100%)
>  rename {tests => scripts}/migration/guestperf/report.py (100%)
>  rename {tests => scripts}/migration/guestperf/scenario.py (93%)
>  rename {tests => scripts}/migration/guestperf/shell.py (98%)
>  rename {tests => scripts}/migration/guestperf/timings.py (100%)

Reviewed-by: Fabiano Rosas <farosas@suse.de>


Thinking out loud a little bit, it's still somewhat obscure from which
directory this script should be called. None of these invocations work:

$ ./scripts/migration/guestperf.py

$ ./build/scripts/migration/guestperf.py

$ cd scripts/migration
$ ./guestperf.py

$ cd build/scripts/migration
$ ./guestperf.py

Failed to open file “tests/migration/initrd-stress.img”: open() failed:
No such file or directory

This is the only one that works:
$ cd build
$ ./scripts/migration/guestperf.py

Maybe we could improve that somehow in the future.
Yong Huang Oct. 24, 2024, 2:06 a.m. UTC | #2
On Wed, Oct 23, 2024 at 11:06 PM Fabiano Rosas <farosas@suse.de> wrote:

> yong.huang@smartx.com writes:
>
> > From: Hyman Huang <yong.huang@smartx.com>
> >
> > v3:
> > 1. Remove the two redundant assignments in [PATCH v2 2/5] suggested by
> Daniel
> >
> > Please review, thanks
> > Yong
> >
> > v2:
> > 1. Update the MAINTAINERS section suggested by Fabiano Rosas
> > 2. Ensure the dependencies when build the initrd-stress.img suggested by
> Daniel
> > 3. Fix some bugs
> >
> > v1:
> > The previous patchset:
> >
> https://lore.kernel.org/qemu-devel/cover.1722957352.git.yong.huang@smartx.com/
> > does not made the necessary changes and tests for the upstream version.
> >
> > This patchset works for that:
> > 1. Move the guestperf to scripts directory suggested by Fabiano Rosas
> > 2. Make initrd-stress.img built by default suggested by Fabiano Rosas
> > 3. Make the necessary changes to adapt the latest multifd behavior
> > 4. A nitpick for multifd migration
> > 5. Support multifd compression option
> >
> > Hyman Huang (5):
> >   tests/migration: Move the guestperf tool to scripts directory
> >   tests/migration: Make initrd-stress.img built by default
> >   guestperf: Support deferred migration for multifd
> >   guestperf: Nitpick the inconsistent parameters
> >   guestperf: Introduce multifd compression option
> >
> >  MAINTAINERS                                   |  5 +++
> >  .../migration/guestperf-batch.py              |  0
> >  .../migration/guestperf-plot.py               |  0
> >  {tests => scripts}/migration/guestperf.py     |  0
> >  .../migration/guestperf/__init__.py           |  0
> >  .../migration/guestperf/comparison.py         | 15 ++++++++-
> >  .../migration/guestperf/engine.py             | 33 ++++++++++++++++---
> >  .../migration/guestperf/hardware.py           |  0
> >  .../migration/guestperf/plot.py               |  0
> >  .../migration/guestperf/progress.py           |  0
> >  .../migration/guestperf/report.py             |  0
> >  .../migration/guestperf/scenario.py           |  7 ++--
> >  .../migration/guestperf/shell.py              |  3 ++
> >  .../migration/guestperf/timings.py            |  0
> >  tests/migration/meson.build                   | 30 +++++++++--------
> >  15 files changed, 73 insertions(+), 20 deletions(-)
> >  rename {tests => scripts}/migration/guestperf-batch.py (100%)
> >  rename {tests => scripts}/migration/guestperf-plot.py (100%)
> >  rename {tests => scripts}/migration/guestperf.py (100%)
> >  rename {tests => scripts}/migration/guestperf/__init__.py (100%)
> >  rename {tests => scripts}/migration/guestperf/comparison.py (89%)
> >  rename {tests => scripts}/migration/guestperf/engine.py (93%)
> >  rename {tests => scripts}/migration/guestperf/hardware.py (100%)
> >  rename {tests => scripts}/migration/guestperf/plot.py (100%)
> >  rename {tests => scripts}/migration/guestperf/progress.py (100%)
> >  rename {tests => scripts}/migration/guestperf/report.py (100%)
> >  rename {tests => scripts}/migration/guestperf/scenario.py (93%)
> >  rename {tests => scripts}/migration/guestperf/shell.py (98%)
> >  rename {tests => scripts}/migration/guestperf/timings.py (100%)
>
> Reviewed-by: Fabiano Rosas <farosas@suse.de>
>
>
> Thinking out loud a little bit, it's still somewhat obscure from which

directory this script should be called. None of these invocations work:
>

Indeed, we could document how to build and use the guestperf,
refining it to be more convenient to use.


> $ ./scripts/migration/guestperf.py
>
> $ ./build/scripts/migration/guestperf.py
>
> $ cd scripts/migration
> $ ./guestperf.py
>
> $ cd build/scripts/migration
> $ ./guestperf.py
>
> Failed to open file “tests/migration/initrd-stress.img”: open() failed:
> No such file or directory
>
> This is the only one that works:
> $ cd build
> $ ./scripts/migration/guestperf.py
>
> Maybe we could improve that somehow in the future.
>
>
Peter Xu Oct. 24, 2024, 12:28 p.m. UTC | #3
On Thu, Oct 24, 2024 at 10:06:51AM +0800, Yong Huang wrote:
> Indeed, we could document how to build and use the guestperf,
> refining it to be more convenient to use.

If to do so, please feel free to add a "test" entry in devel/migration too
no matter to put the doc there, or just add a reference to where the doc
locates.

Thanks,