[PATCH v3 0/9] replay: fixes and new test cases

Nicholas Piggin posted 9 patches 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240226082945.1452499-1-npiggin@gmail.com
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>
There is a newer version of this series
include/sysemu/replay.h            |   5 -
include/sysemu/runstate.h          |   1 +
migration/migration.h              |   2 -
accel/tcg/tcg-accel-ops-rr.c       |   2 +-
chardev/char.c                     |  71 ++++++++----
migration/migration.c              |  19 +++-
replay/replay.c                    |  23 +---
system/runstate.c                  |  19 ++++
scripts/replay-dump.py             | 167 ++++++++++++++++++++---------
tests/avocado/replay_kernel.py     |  16 +++
tests/avocado/replay_linux.py      |  15 +++
tests/avocado/reverse_debugging.py |   9 +-
12 files changed, 233 insertions(+), 116 deletions(-)
[PATCH v3 0/9] replay: fixes and new test cases
Posted by Nicholas Piggin 9 months ago
Since v2, here fixes became less minor so I rename the series.

https://lore.kernel.org/qemu-devel/20240125160835.480488-1-npiggin@gmail.com/#r)

* Found several more bugs (patches 5-8).
* Enable the rr avocado test on pseries and aarch64 virt since they're
  passing here (and on gitlab, e.g.,
  https://gitlab.com/npiggin/qemu/-/jobs/6253787216,
  https://gitlab.com/npiggin/qemu/-/jobs/6253787218).
* Updated replay-dump script to John's feedback.

x86-64 still has issues with replay and reverse debugging tests.
replay_kernel.py seems to be timing dependent -- after patch 5 I
had it pass 30/30 runs, then the following day 0/30 and I realized
I had several other QEMU instances hogging the CPU which probably
changed timings. So the first thing I would look at is timers and
clocks. pseries had some rounding issues in time calculations that meant
clock/timer were not replayed exactly as they were recorded, which
caused hangs.

Thanks,
Nick

Nicholas Piggin (9):
  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"
  chardev: set record/replay on the base device of a muxed device
  replay: Fix migration use of clock
  replay: Fix migration replay_mutex locking
  tests/avocado/reverse_debugging.py: mark aarch64 and pseries as not
    flaky

 include/sysemu/replay.h            |   5 -
 include/sysemu/runstate.h          |   1 +
 migration/migration.h              |   2 -
 accel/tcg/tcg-accel-ops-rr.c       |   2 +-
 chardev/char.c                     |  71 ++++++++----
 migration/migration.c              |  19 +++-
 replay/replay.c                    |  23 +---
 system/runstate.c                  |  19 ++++
 scripts/replay-dump.py             | 167 ++++++++++++++++++++---------
 tests/avocado/replay_kernel.py     |  16 +++
 tests/avocado/replay_linux.py      |  15 +++
 tests/avocado/reverse_debugging.py |   9 +-
 12 files changed, 233 insertions(+), 116 deletions(-)

-- 
2.42.0