RFC replay additions
Get series with b4
b4 am 20171031110641.5836.43266.stgit@pasha-VirtualBoxVersions newest first
- v1 RFC Latest26 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/26 | block: implement bdrv_snapshot_goto for blkreplayblock/ | +8 | 0 replies | |
| 2/26 | blkreplay: create temporary overlay for underlaying devicesblock/ stubs/ vl.c | +67 | 0 replies | |
| 3/26 | replay: disable default snapshot for record/replayvl.c | +7 | 0 replies | |
| 4/26 | replay: fix processing async eventsreplay/ | +2 | 0 replies | |
| 5/26 | replay: fixed replay_enable_eventsreplay/ | +5 | 0 replies | |
| 6/26 | replay: fix save/load vm for non-empty queueinclude/ migration/ replay/ | +22 | 0 replies | |
| 7/26 | replay: added replay log format descriptiondocs/ | +69 | 0 replies | |
| 8/26 | replay: make safe vmstop at record/replaycpus.c migration/ | +6 | 0 replies | |
| 9/26 | replay: save prior value of the host clockinclude/ replay/ replay/ +1 more | +31 | 0 replies | |
| 10/26 | icount: fixed saving/restoring of icount warp timerscpus.c | +66 | 0 replies | |
| 11/26 | target/arm/arm-powertctl: drop BQL assertionstarget/ | +0 | 0 replies | |
| 12/26 | cpus: push BQL lock to qemu_*_wait_io_eventaccel/ cpus.c target/ | +21 | 0 replies | |
| 13/26 | cpus: only take BQL for sleeping threadscpus-common.c cpus.c | +9 | 0 replies | |
| 14/26 | replay/replay.c: bump REPLAY_VERSION againreplay/ replay/ | +2 | 0 replies | |
| 15/26 | replay/replay-internal.c: track holding of replay_lockreplay/ | +11 | 0 replies | |
| 16/26 | replay: make locking visible outside replay codeinclude/ replay/ replay/ +1 more | +33 | 0 replies | |
| 17/26 | replay: push replay_mutex_lock up the call treecpus.c docs/ include/ +7 more | +126 | 0 replies | |
| 18/26 | cpu-exec: don't overwrite exception_indexaccel/ | +3 | 0 replies | |
| 19/26 | cpu-exec: reset exit flag before calling cpu_exec_nocacheaccel/ | +1 | 0 replies | |
| 20/26 | replay: don't destroy mutex at exitreplay/ | +0 | 0 replies | |
| 21/26 | replay: check return values of fwritereplay/ | +3 | 0 replies | |
| 22/26 | scripts/qemu-gdb: add simple tcg lock status helperscripts/ scripts/ | +48 | 0 replies | |
| 23/26 | util/qemu-thread-*: add qemu_lock, locked and unlock trace eventsinclude/ util/ util/ | +26 | 0 replies | |
| 24/26 | scripts/analyse-locks-simpletrace.py: script to analyse lock timesscripts/ | +99 | 0 replies | |
| 25/26 | scripts/replay-dump.py: replay log dumperscripts/ | +308 | 0 replies | |
| 26/26 | scripts/qemu-gdb/timers.py: new helper to dump timer statescripts/ scripts/ | +56 | 0 replies |
Reviews trailers per patch
1 of 26 patches has a Reviewed-by or Acked-by.
| Patch | Philippe Mathieu-Daudé |
|---|---|
| 1/26 | |
| 2/26 | |
| 3/26 | |
| 4/26 | |
| 5/26 | |
| 6/26 | |
| 7/26 | |
| 8/26 | |
| 9/26 | |
| 10/26 | |
| 11/26 | |
| 12/26 | |
| 13/26 | |
| 14/26 | |
| 15/26 | |
| 16/26 | |
| 17/26 | |
| 18/26 | |
| 19/26 | |
| 20/26 | |
| 21/26 | |
| 22/26 | |
| 23/26 | |
| 24/26 | |
| 25/26 | |
| 26/26 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [Qemu-devel] [RFC PATCH 00/26] replay additions
This set of patches includex fixes from Alex Bennée for fixing BQL and replay locks after inventing the MTTCG. It also includes some additional replay patches that makes this set of fixes working. It is also fixes some vmstate creation (and loading) issues in record/replay modes:
- VM start/stop fixes in replay mode
- overlay creation for blkreplay filter
- fixes for vmstate save/load in record/replay mode
- fixes for host clock vmstate
- fixes for icount timers vmstate
There is also a set of helper scripts written by Alex Bennée for debugging the record/replay code.
---
Alex Bennée (12):
target/arm/arm-powertctl: drop BQL assertions
cpus: push BQL lock to qemu_*_wait_io_event
cpus: only take BQL for sleeping threads replay/replay.c: bump REPLAY_VERSION again replay/replay-internal.c: track holding of replay_lock
replay: make locking visible outside replay code
replay: push replay_mutex_lock up the call tree scripts/qemu-gdb: add simple tcg lock status helper util/qemu-thread-*: add qemu_lock, locked and unlock trace events scripts/analyse-locks-simpletrace.py: script to analyse lock times scripts/replay-dump.py: replay log dumper scripts/qemu-gdb/timers.py: new helper to dump timer state
Pavel Dovgalyuk (14):
block: implement bdrv_snapshot_goto for blkreplay
blkreplay: create temporary overlay for underlaying devices
replay: disable default snapshot for record/replay
replay: fix processing async events
replay: fixed replay_enable_events
replay: fix save/load vm for non-empty queue
replay: added replay log format description
replay: make safe vmstop at record/replay
replay: save prior value of the host clock
icount: fixed saving/restoring of icount warp timers
cpu-exec: don't overwrite exception_index
cpu-exec: reset exit flag before calling cpu_exec_nocache
replay: don't destroy mutex at exit
replay: check return values of fwrite
accel/kvm/kvm-all.c | 4 accel/tcg/cpu-exec.c | 5 - block/blkreplay.c | 73 ++++++++ cpus-common.c | 13 + cpus.c | 149 +++++++++++++--- docs/replay.txt | 88 ++++++++++ include/qemu/thread.h | 14 +- include/qemu/timer.h | 14 ++ include/sysemu/replay.h | 19 ++ migration/savevm.c | 13 + replay/replay-char.c | 21 +- replay/replay-events.c | 30 +-- replay/replay-internal.c | 26 +++ replay/replay-internal.h | 9 + replay/replay-snapshot.c | 9 + replay/replay-time.c | 10 + replay/replay.c | 43 ++--- scripts/analyse-locks-simpletrace.py | 99 +++++++++++ scripts/qemu-gdb.py | 4 scripts/qemugdb/tcg.py | 46 +++++ scripts/qemugdb/timers.py | 54 ++++++ scripts/replay-dump.py | 308 ++++++++++++++++++++++++++++++++++ stubs/replay.c | 16 ++ target/arm/arm-powerctl.c | 8 - target/i386/hax-all.c | 3 util/main-loop.c | 23 ++- util/qemu-thread-posix.c | 21 +- util/qemu-timer.c | 12 + util/trace-events | 7 - vl.c | 12 + 30 files changed, 1014 insertions(+), 139 deletions(-) create mode 100755 scripts/analyse-locks-simpletrace.py create mode 100644 scripts/qemugdb/tcg.py create mode 100644 scripts/qemugdb/timers.py create mode 100755 scripts/replay-dump.py
Signature · 1 line
Pavel Dovgalyuk