[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 00/26] replay additions
From: |
Pavel Dovgalyuk |
Subject: |
[Qemu-devel] [RFC PATCH 00/26] replay additions |
Date: |
Tue, 31 Oct 2017 14:24:57 +0300 |
User-agent: |
StGit/0.17.1-dirty |
Accidentally sent draft version of patches to the mailing list.
Please consider this one as the correct one.
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
--
Pavel Dovgalyuk
- [Qemu-devel] [RFC PATCH 18/26] cpu-exec: don't overwrite exception_index, (continued)
- [Qemu-devel] [RFC PATCH 18/26] cpu-exec: don't overwrite exception_index, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 19/26] cpu-exec: reset exit flag before calling cpu_exec_nocache, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 20/26] replay: don't destroy mutex at exit, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 21/26] replay: check return values of fwrite, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 22/26] scripts/qemu-gdb: add simple tcg lock status helper, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 23/26] util/qemu-thread-*: add qemu_lock, locked and unlock trace events, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 24/26] scripts/analyse-locks-simpletrace.py: script to analyse lock times, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 26/26] scripts/qemu-gdb/timers.py: new helper to dump timer state, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 25/26] scripts/replay-dump.py: replay log dumper, Pavel Dovgalyuk, 2017/10/31
- Re: [Qemu-devel] [RFC PATCH 00/26] replay additions, no-reply, 2017/10/31
- [Qemu-devel] [RFC PATCH 00/26] replay additions,
Pavel Dovgalyuk <=
- [Qemu-devel] [RFC PATCH 01/26] block: implement bdrv_snapshot_goto for blkreplay, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 02/26] blkreplay: create temporary overlay for underlaying devices, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 03/26] replay: disable default snapshot for record/replay, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 04/26] replay: fix processing async events, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 05/26] replay: fixed replay_enable_events, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 06/26] replay: fix save/load vm for non-empty queue, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 07/26] replay: added replay log format description, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 08/26] replay: make safe vmstop at record/replay, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 09/26] replay: save prior value of the host clock, Pavel Dovgalyuk, 2017/10/31
- [Qemu-devel] [RFC PATCH 10/26] icount: fixed saving/restoring of icount warp timers, Pavel Dovgalyuk, 2017/10/31