Ping? Pavel Dovgalyuk
> -----Original Message----- > From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru] > Sent: Tuesday, January 23, 2018 11:53 AM > To: qemu-devel@nongnu.org > Cc: kw...@redhat.com; peter.mayd...@linaro.org; boost.li...@gmail.com; > quint...@redhat.com; > jasow...@redhat.com; m...@redhat.com; zuban...@gmail.com; > maria.klimushenk...@ispras.ru; > dovga...@ispras.ru; kra...@redhat.com; pavel.dovga...@ispras.ru; > pbonz...@redhat.com; > alex.ben...@linaro.org > Subject: [RFC PATCH v5 00/24] 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 > > There is also a set of helper scripts written by Alex Bennée > for debugging the record/replay code. > > v5 changes: > - removed patch for narrowing BQL-protected code > - disabled bdrv_(drain/flush)_all for record/replay mode > > v4 changes: > - removed upstreamed patches > - added patch for saving async queue state in replay > - minor fixes > > v3 changes: > - removed upstreamed patches > - fixed bug with recursive checkpoints > - fixed bug with icount warp checkpoint > > v2 changes: > - updated lock/unlock logic (as suggested by Paolo Bonzini) > - updated cpu execution loop to avoid races in setting/resetting exit > request (as suggested > by Paolo Bonzini) > - minor changes > > --- > > Alex Bennée (7): > target/arm/arm-powertctl: drop BQL assertions > cpus: push BQL lock to qemu_*_wait_io_event > 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/replay-dump.py: replay log dumper > > Pavel Dovgalyuk (17): > cpu-exec: fix exception_index handling > 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: save prior value of the host clock > hax: remove BQL lock/unlock > kvm: remove BQL lock/unlock > replay: don't destroy mutex at exit > replay: check return values of fwrite > replay: avoid recursive call of checkpoints > replay: don't process async events when warping the clock > replay: save vmstate of the asynchronous events > replay: don't drain/flush bdrv queue while RR is working > > > accel/kvm/kvm-all.c | 3 > accel/tcg/cpu-exec.c | 5 + > block/blkreplay.c | 73 +++++++++++ > block/io.c | 22 +++ > cpus.c | 47 +++++-- > docs/replay.txt | 91 +++++++++++++ > include/qemu/timer.h | 14 ++ > include/sysemu/replay.h | 19 +++ > migration/savevm.c | 13 ++ > replay/replay-char.c | 21 +-- > replay/replay-events.c | 73 +++++------ > replay/replay-internal.c | 48 ++++++- > replay/replay-internal.h | 15 ++ > replay/replay-snapshot.c | 12 ++ > replay/replay-time.c | 10 + > replay/replay.c | 62 ++++++--- > scripts/replay-dump.py | 308 > +++++++++++++++++++++++++++++++++++++++++++++ > stubs/replay.c | 16 ++ > target/arm/arm-powerctl.c | 8 - > target/i386/hax-all.c | 2 > util/main-loop.c | 17 ++ > util/qemu-timer.c | 12 ++ > vl.c | 12 +- > 23 files changed, 777 insertions(+), 126 deletions(-) > create mode 100755 scripts/replay-dump.py > > -- > Pavel Dovgalyuk