From: "Pavel Dovgalyuk" <dovgaluk@ispras.ru>
To: 'Pavel Dovgalyuk' <Pavel.Dovgaluk@ispras.ru>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, peter.maydell@linaro.org, war2jordan@live.com,
boost.lists@gmail.com, quintela@redhat.com,
ciro.santilli@gmail.com, jasowang@redhat.com, mst@redhat.com,
zuban32s@gmail.com, maria.klimushenkova@ispras.ru,
kraxel@redhat.com, thomas.dullien@googlemail.com,
pbonzini@redhat.com, alex.bennee@linaro.org, rth@twiddle.net,
crosthwaite.peter@gmail.com
Subject: Re: [Qemu-devel] [ PATCH v7 00/22] replay additions
Date: Mon, 12 Mar 2018 13:32:21 +0300 [thread overview]
Message-ID: <000a01d3b9ed$67e75d40$37b617c0$@ru> (raw)
In-Reply-To: <20180227095135.1060.36549.stgit@pasha-VirtualBox>
Ping.
Pavel Dovgalyuk
> -----Original Message-----
> From: Pavel Dovgalyuk [mailto:Pavel.Dovgaluk@ispras.ru]
> Sent: Tuesday, February 27, 2018 12:52 PM
> To: qemu-devel@nongnu.org
> Cc: kwolf@redhat.com; peter.maydell@linaro.org; war2jordan@live.com; boost.lists@gmail.com;
> quintela@redhat.com; ciro.santilli@gmail.com; jasowang@redhat.com; mst@redhat.com;
> zuban32s@gmail.com; maria.klimushenkova@ispras.ru; dovgaluk@ispras.ru; kraxel@redhat.com;
> pavel.dovgaluk@ispras.ru; thomas.dullien@googlemail.com; pbonzini@redhat.com;
> alex.bennee@linaro.org
> Subject: [ PATCH v7 00/22] replay additions
>
> This set of patches moves replay lock upper in the function call tree.
> Now replay lock functions similar to BQL in older version and allows
> deterministic execution of the threads in icount mode.
> 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.
>
> v6 patches with updates for v7 are available in the repository:
> https://github.com/ispras/qemu/tree/rr-180207
>
> v7 changes:
> - updated record/replay documentation
> - removed abort() from mutex stub functions
> - fixed cpu_io_recompile function
>
> v6 changes:
> - removed BQL optimization at all
> - refined replay lock patches
> - removed lock/unlock from replay-audio
>
> 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 (5):
> 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
> 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
> replay: update documentation
> tcg: fix cpu_io_recompile
>
>
> accel/tcg/cpu-exec.c | 5 +
> accel/tcg/translate-all.c | 18 ++-
> block/blkreplay.c | 75 +++++++++++
> block/io.c | 22 +++
> cpus.c | 26 +++-
> docs/replay.txt | 163 +++++++++++++++++++++---
> include/qemu/timer.h | 14 ++
> include/sysemu/replay.h | 18 +++
> migration/savevm.c | 13 ++
> replay/replay-audio.c | 14 +-
> replay/replay-char.c | 21 +--
> replay/replay-events.c | 75 +++++------
> replay/replay-internal.c | 47 ++++++-
> replay/replay-internal.h | 16 ++
> replay/replay-snapshot.c | 12 ++
> replay/replay-time.c | 10 +
> replay/replay.c | 62 ++++++---
> scripts/replay-dump.py | 308 +++++++++++++++++++++++++++++++++++++++++++++
> stubs/replay.c | 9 +
> util/main-loop.c | 15 ++
> util/qemu-timer.c | 12 ++
> vl.c | 12 +-
> 22 files changed, 831 insertions(+), 136 deletions(-)
> create mode 100755 scripts/replay-dump.py
>
> --
> Pavel Dovgalyuk
next prev parent reply other threads:[~2018-03-12 10:32 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-27 9:51 [Qemu-devel] [ PATCH v7 00/22] replay additions Pavel Dovgalyuk
2018-02-27 9:51 ` [Qemu-devel] [PATCH v7 01/22] cpu-exec: fix exception_index handling Pavel Dovgalyuk
2018-02-27 9:51 ` [Qemu-devel] [PATCH v7 02/22] block: implement bdrv_snapshot_goto for blkreplay Pavel Dovgalyuk
2018-02-27 9:51 ` [Qemu-devel] [PATCH v7 03/22] blkreplay: create temporary overlay for underlaying devices Pavel Dovgalyuk
2018-02-27 9:51 ` [Qemu-devel] [PATCH v7 04/22] replay: disable default snapshot for record/replay Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 05/22] replay: fix processing async events Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 06/22] replay: fixed replay_enable_events Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 07/22] replay: fix save/load vm for non-empty queue Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 08/22] replay: added replay log format description Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 09/22] replay: save prior value of the host clock Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 10/22] replay/replay.c: bump REPLAY_VERSION again Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 11/22] replay/replay-internal.c: track holding of replay_lock Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 12/22] replay: make locking visible outside replay code Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 13/22] replay: push replay_mutex_lock up the call tree Pavel Dovgalyuk
2018-03-12 13:02 ` Paolo Bonzini
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 14/22] replay: don't destroy mutex at exit Pavel Dovgalyuk
2018-02-27 9:52 ` [Qemu-devel] [PATCH v7 15/22] replay: check return values of fwrite Pavel Dovgalyuk
2018-02-27 9:53 ` [Qemu-devel] [PATCH v7 16/22] replay: avoid recursive call of checkpoints Pavel Dovgalyuk
2018-02-27 9:53 ` [Qemu-devel] [PATCH v7 17/22] scripts/replay-dump.py: replay log dumper Pavel Dovgalyuk
2018-02-27 9:53 ` [Qemu-devel] [PATCH v7 18/22] replay: don't process async events when warping the clock Pavel Dovgalyuk
2018-02-27 9:53 ` [Qemu-devel] [PATCH v7 19/22] replay: save vmstate of the asynchronous events Pavel Dovgalyuk
2018-02-27 9:53 ` [Qemu-devel] [PATCH v7 20/22] replay: don't drain/flush bdrv queue while RR is working Pavel Dovgalyuk
2018-03-12 13:06 ` Paolo Bonzini
2018-02-27 9:53 ` [Qemu-devel] [PATCH v7 21/22] replay: update documentation Pavel Dovgalyuk
2018-02-27 9:53 ` [Qemu-devel] [PATCH v7 22/22] tcg: fix cpu_io_recompile Pavel Dovgalyuk
2018-03-16 11:35 ` Richard Henderson
2018-03-16 11:42 ` Pavel Dovgalyuk
2018-03-12 10:32 ` Pavel Dovgalyuk [this message]
2018-03-12 10:44 ` [Qemu-devel] [ PATCH v7 00/22] replay additions Ciro Santilli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000a01d3b9ed$67e75d40$37b617c0$@ru' \
--to=dovgaluk@ispras.ru \
--cc=Pavel.Dovgaluk@ispras.ru \
--cc=alex.bennee@linaro.org \
--cc=boost.lists@gmail.com \
--cc=ciro.santilli@gmail.com \
--cc=crosthwaite.peter@gmail.com \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=maria.klimushenkova@ispras.ru \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=rth@twiddle.net \
--cc=thomas.dullien@googlemail.com \
--cc=war2jordan@live.com \
--cc=zuban32s@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).