qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] ppc: record-replay fixes and enablement
@ 2023-07-26 18:35 Nicholas Piggin
  2023-07-26 18:35 ` [PATCH 1/7] target/ppc: Fix CPU reservation migration for record-replay Nicholas Piggin
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Nicholas Piggin @ 2023-07-26 18:35 UTC (permalink / raw)
  To: Daniel Henrique Barboza
  Cc: Nicholas Piggin, Cédric Le Goater, David Gibson, Greg Kurz,
	Harsh Prateek Bora, Pavel Dovgalyuk, Paolo Bonzini, qemu-ppc,
	qemu-devel

Here is a series that gets ppc pseries and powernv machines into
better shape for record-replay, maybe for 8.2. It's likely got a
few deficiencies but it does run test cases and helped find bugs
in migration already. It requires previous decrementer fixes to
work well.

I think we can get away without patch 1 for 8.1, because we
inadvertently fixed regular (non-rr) migration of reservation
with  commit 392d328abe753. But opinions welcome.

For record/replay and avocado test reviewers, I would mainly
be interested in opinions about patch 6. I tried not to affect
existing archs much.

Thanks,
Nick

Nicholas Piggin (7):
  target/ppc: Fix CPU reservation migration for record-replay
  target/ppc: Fix timebase reset with record-replay
  spapr: Fix machine reset deadlock from replay-record
  spapr: Fix record-replay machine reset consuming too many events
  tests/avocado: boot ppc64 pseries replay-record test to Linux VFS
    mount
  tests/avocado: reverse-debugging cope with re-executing breakpoints
  tests/avocado: ppc64 reverse debugging tests for pseries and powernv

 hw/ppc/ppc.c                       | 11 ++++--
 hw/ppc/spapr.c                     | 32 +++++++++++++++---
 include/hw/ppc/spapr.h             |  2 ++
 target/ppc/compat.c                | 19 +++++++++++
 target/ppc/cpu.h                   |  3 ++
 target/ppc/machine.c               | 26 ++++++++++++--
 target/ppc/translate.c             |  4 +++
 tests/avocado/replay_kernel.py     |  3 +-
 tests/avocado/reverse_debugging.py | 54 +++++++++++++++++++++++++++---
 9 files changed, 139 insertions(+), 15 deletions(-)

-- 
2.40.1



^ permalink raw reply	[flat|nested] 20+ messages in thread
* [PATCH 0/7] ppc: fix larx migration, fix record-replay
@ 2023-06-23 12:57 Nicholas Piggin
  2023-06-23 12:57 ` [PATCH 4/7] spapr: Fix record-replay machine reset consuming too many events Nicholas Piggin
  0 siblings, 1 reply; 20+ messages in thread
From: Nicholas Piggin @ 2023-06-23 12:57 UTC (permalink / raw)
  To: qemu-devel
  Cc: Nicholas Piggin, qemu-ppc, Daniel Henrique Barboza,
	Cédric Le Goater, David Gibson, Greg Kurz,
	Harsh Prateek Bora, John Snow, Cleber Rosa, Pavel Dovgalyuk,
	Paolo Bonzini, Philippe Mathieu-Daudé,
	Wainer dos Santos Moschetta, Beraldo Leal, Peter Maydell,
	Richard Henderson

Hi, this is a bit of an RFC patch, I may need to send patches to
different trees to merge but they kind of go together.

The primary motivation is to fix migrating larx reservations,
previously discussed here:

https://lists.gnu.org/archive/html/qemu-ppc/2023-06/msg00452.html

It turns out a recent patch fixed it in a hacky way by chance, but the
fix is not compatible with rr debugging as Peter noted. Fortunately rr
debugging is broken on ppc, so we are done.

Can it be fixed nicely? Patch 1 tries that by migrating reservation
state when rr is in use. The rest of the patches is getting rr to
work. I've not go to trying to add a specific larx test case for it
yet, but it started to pass basic tests. There is one strangeness
explained in the final patch which I've not yet worked out though.

Comments welcome.

Thanks,
Nick

Nicholas Piggin (7):
  target/ppc: Fix CPU reservation migration for record-replay
  scripts/replay_dump.sh: Update to current rr record format
  spapr: Fix machine reset deadlock from replay-record
  spapr: Fix record-replay machine reset consuming too many events
  target/ppc: Fix timebase reset with record-replay
  tests/avocado: boot ppc64 pseries replay-record test to Linux VFS
    mount
  tests/avocado: ppc64 pseries reverse debugging test

 hw/ppc/ppc.c                       | 11 +++-
 hw/ppc/spapr.c                     | 32 +++++++++--
 include/hw/ppc/spapr.h             |  2 +
 scripts/replay-dump.py             | 89 ++++++++++++++++++++++++++++--
 target/ppc/compat.c                | 19 +++++++
 target/ppc/cpu.h                   |  3 +
 target/ppc/machine.c               | 26 ++++++++-
 target/ppc/translate.c             |  2 +
 tests/avocado/replay_kernel.py     |  3 +-
 tests/avocado/reverse_debugging.py | 28 +++++++++-
 10 files changed, 197 insertions(+), 18 deletions(-)

-- 
2.40.1



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

end of thread, other threads:[~2023-08-09  9:26 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-26 18:35 [PATCH 0/7] ppc: record-replay fixes and enablement Nicholas Piggin
2023-07-26 18:35 ` [PATCH 1/7] target/ppc: Fix CPU reservation migration for record-replay Nicholas Piggin
2023-07-26 18:35 ` [PATCH 2/7] target/ppc: Fix timebase reset with record-replay Nicholas Piggin
2023-07-26 18:35 ` [PATCH 3/7] spapr: Fix machine reset deadlock from replay-record Nicholas Piggin
2023-07-26 18:35 ` [PATCH 4/7] spapr: Fix record-replay machine reset consuming too many events Nicholas Piggin
2023-07-31 11:40   ` Pavel Dovgalyuk
2023-08-04  8:50   ` Pavel Dovgalyuk
2023-08-06 11:46     ` Nicholas Piggin
2023-08-08  3:09       ` Nicholas Piggin
2023-08-08  3:52         ` Pavel Dovgalyuk
2023-08-09  9:25           ` Nicholas Piggin
2023-07-26 18:35 ` [PATCH 5/7] tests/avocado: boot ppc64 pseries replay-record test to Linux VFS mount Nicholas Piggin
2023-07-31 11:41   ` Pavel Dovgalyuk
2023-07-26 18:35 ` [PATCH 6/7] tests/avocado: reverse-debugging cope with re-executing breakpoints Nicholas Piggin
2023-07-31 12:08   ` Pavel Dovgalyuk
2023-07-26 18:35 ` [PATCH 7/7] tests/avocado: ppc64 reverse debugging tests for pseries and powernv Nicholas Piggin
2023-07-31 12:09   ` Pavel Dovgalyuk
  -- strict thread matches above, loose matches on Subject: below --
2023-06-23 12:57 [PATCH 0/7] ppc: fix larx migration, fix record-replay Nicholas Piggin
2023-06-23 12:57 ` [PATCH 4/7] spapr: Fix record-replay machine reset consuming too many events Nicholas Piggin
2023-06-26  8:07   ` Pavel Dovgalyuk
2023-06-26 10:04     ` Nicholas Piggin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).