mbox series

[v6,00/10] replay: fixes and new test cases

Message ID 20240813050638.446172-1-npiggin@gmail.com (mailing list archive)
Headers show
Series replay: fixes and new test cases | expand

Message

Nicholas Piggin Aug. 13, 2024, 5:06 a.m. UTC
Since v5, I cut down the series significantly to just the better
reviewed parts, without adding new CI testing, since there are
still be a few hiccups. aarch64 had some hangs Alex noticed, and
x86_64 doesn't seem to be working anymore for me (with the big
replay_linux.py test). But with this series, things are much closer,
ppc64 does get through replay_linux.py (but requires some ppc
specific fixes and the new test to be added, so I leave that out
for now).

Hopefully we can get this minimal series in and in the next
release I'll try to get something stable enough for CI so it
doesn't keep breaking.

Thanks,
Nick

Nicholas Piggin (10):
  scripts/replay-dump.py: Update to current rr record format
  scripts/replay-dump.py: rejig decoders in event number order
  tests/avocado: excercise scripts/replay-dump.py in replay tests
  replay: allow runstate shutdown->running when replaying trace
  Revert "replay: stop us hanging in rr_wait_io_event"
  tests/avocado: replay_kernel.py add x86-64 q35 machine test
  chardev: set record/replay on the base device of a muxed device
  virtio-net: Use replay_schedule_bh_event for bhs that affect machine
    state
  virtio-net: Use virtual time for RSC timers
  savevm: Fix load_snapshot error path crash

 include/sysemu/replay.h        |   5 -
 include/sysemu/runstate.h      |   1 +
 accel/tcg/tcg-accel-ops-rr.c   |   2 +-
 chardev/char.c                 |  71 +++++++++-----
 hw/net/virtio-net.c            |  17 ++--
 migration/savevm.c             |   1 +
 replay/replay.c                |  23 +----
 system/runstate.c              |  31 +++++-
 scripts/replay-dump.py         | 167 ++++++++++++++++++++++-----------
 tests/avocado/replay_kernel.py |  31 +++++-
 tests/avocado/replay_linux.py  |  10 ++
 11 files changed, 245 insertions(+), 114 deletions(-)

Comments

Alex Bennée Aug. 13, 2024, 2:12 p.m. UTC | #1
Nicholas Piggin <npiggin@gmail.com> writes:

> Since v5, I cut down the series significantly to just the better
> reviewed parts, without adding new CI testing, since there are
> still be a few hiccups. aarch64 had some hangs Alex noticed, and
> x86_64 doesn't seem to be working anymore for me (with the big
> replay_linux.py test). But with this series, things are much closer,
> ppc64 does get through replay_linux.py (but requires some ppc
> specific fixes and the new test to be added, so I leave that out
> for now).
>
> Hopefully we can get this minimal series in and in the next
> release I'll try to get something stable enough for CI so it
> doesn't keep breaking.

I'm happy to take this through maintainer/for-9.1 unless there are any
major objections from other maintainers.

>
> Thanks,
> Nick
>
> Nicholas Piggin (10):
>   scripts/replay-dump.py: Update to current rr record format
>   scripts/replay-dump.py: rejig decoders in event number order
>   tests/avocado: excercise scripts/replay-dump.py in replay tests
>   replay: allow runstate shutdown->running when replaying trace
>   Revert "replay: stop us hanging in rr_wait_io_event"
>   tests/avocado: replay_kernel.py add x86-64 q35 machine test
>   chardev: set record/replay on the base device of a muxed device
>   virtio-net: Use replay_schedule_bh_event for bhs that affect machine
>     state
>   virtio-net: Use virtual time for RSC timers
>   savevm: Fix load_snapshot error path crash
>
>  include/sysemu/replay.h        |   5 -
>  include/sysemu/runstate.h      |   1 +
>  accel/tcg/tcg-accel-ops-rr.c   |   2 +-
>  chardev/char.c                 |  71 +++++++++-----
>  hw/net/virtio-net.c            |  17 ++--
>  migration/savevm.c             |   1 +
>  replay/replay.c                |  23 +----
>  system/runstate.c              |  31 +++++-
>  scripts/replay-dump.py         | 167 ++++++++++++++++++++++-----------
>  tests/avocado/replay_kernel.py |  31 +++++-
>  tests/avocado/replay_linux.py  |  10 ++
>  11 files changed, 245 insertions(+), 114 deletions(-)