From: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@xilinx.com, peter.maydell@linaro.org,
igor.rubinov@gmail.com, alex.bennee@linaro.org,
mark.burton@greensocs.com, real@ispras.ru, hines@cert.org,
batuzovk@ispras.ru, maria.klimushenkova@ispras.ru,
pavel.dovgaluk@ispras.ru, pbonzini@redhat.com, kwolf@redhat.com,
stefanha@redhat.com, fred.konrad@greensocs.com
Subject: [Qemu-devel] [PATCH v2 0/4] Deterministic replay extensions
Date: Wed, 10 Feb 2016 12:13:00 +0300 [thread overview]
Message-ID: <20160210091259.10024.74767.stgit@PASHA-ISP> (raw)
This set of patches is related to the reverse execution and deterministic
replay of qemu execution. It includes recording and replaying of serial devices
and block devices operations.
With these patches one can record and deterministically replay behavior
of the system with connected disk drives and serial communication ports
(e.g., telnet terminal).
Patches for deterministic replay of the block devices intercept calls of
blk_aio_ functions. These functions are used only by virtual devices.
Replay cannot be embedded as block driver functions layer, because these
functions are also used for qemu internal operations (e.g., migration).
v2 changes:
- removed obsolete call of qemu_clock_warp
- fixed record/replay of aio_cancel
- simplified call sequence for blk_aio_ functions in non-replay mode (as suggested by Kevin Wolf)
---
Pavel Dovgalyuk (4):
replay: character devices
icount: remove obsolete warp call
replay: introduce new checkpoint for icount warp
replay: introduce block devices record/replay
block/block-backend.c | 54 ++++++++++++--
cpus.c | 10 +--
gdbstub.c | 2 -
include/qemu/timer.h | 3 +
include/sysemu/char.h | 26 +++++++
include/sysemu/replay.h | 43 ++++++++++++
main-loop.c | 2 -
qemu-char.c | 56 +++++++++++++--
qemu-timer.c | 2 -
replay/Makefile.objs | 2 +
replay/replay-block.c | 172 ++++++++++++++++++++++++++++++++++++++++++++++
replay/replay-char.c | 97 ++++++++++++++++++++++++++
replay/replay-events.c | 68 +++++++++++++++++-
replay/replay-internal.h | 39 ++++++++++
replay/replay.c | 25 ++++++-
stubs/clock-warp.c | 2 -
stubs/replay.c | 50 +++++++++++++
17 files changed, 622 insertions(+), 31 deletions(-)
create mode 100755 replay/replay-block.c
create mode 100755 replay/replay-char.c
--
Pavel Dovgalyuk
next reply other threads:[~2016-02-10 9:13 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-10 9:13 Pavel Dovgalyuk [this message]
2016-02-10 9:13 ` [Qemu-devel] [PATCH v2 1/4] replay: character devices Pavel Dovgalyuk
2016-02-10 9:13 ` [Qemu-devel] [PATCH v2 2/4] icount: remove obsolete warp call Pavel Dovgalyuk
2016-02-10 9:13 ` [Qemu-devel] [PATCH v2 3/4] replay: introduce new checkpoint for icount warp Pavel Dovgalyuk
2016-02-10 9:13 ` [Qemu-devel] [PATCH v2 4/4] replay: introduce block devices record/replay Pavel Dovgalyuk
2016-02-11 9:56 ` Stefan Hajnoczi
2016-02-11 13:52 ` Pavel Dovgalyuk
2016-02-11 14:51 ` Stefan Hajnoczi
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=20160210091259.10024.74767.stgit@PASHA-ISP \
--to=pavel.dovgaluk@ispras.ru \
--cc=alex.bennee@linaro.org \
--cc=batuzovk@ispras.ru \
--cc=edgar.iglesias@xilinx.com \
--cc=fred.konrad@greensocs.com \
--cc=hines@cert.org \
--cc=igor.rubinov@gmail.com \
--cc=kwolf@redhat.com \
--cc=maria.klimushenkova@ispras.ru \
--cc=mark.burton@greensocs.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=real@ispras.ru \
--cc=stefanha@redhat.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).