[Qemu-devel] [PATCH for-4.2 00/14] Some record/replay fixes

Pavel Dovgalyuk posted 14 patches 4 years, 9 months ago
Test docker-clang@ubuntu passed
Test asan passed
Test s390x passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/156395778867.510.17588721322993616668.stgit@pasha-Precision-3630-Tower
Maintainers: Thomas Huth <thuth@redhat.com>, Jason Dillaman <dillaman@redhat.com>, Fam Zheng <fam@euphon.net>, Richard Henderson <rth@twiddle.net>, Kevin Wolf <kwolf@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Ronnie Sahlberg <ronniesahlberg@gmail.com>, Peter Lieven <pl@kamp.de>, Max Reitz <mreitz@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
There is a newer version of this series
accel/tcg/tcg-runtime.c   |    2 ++
block/blkreplay.c         |    8 ++++++++
block/block-backend.c     |    8 +++++---
block/io.c                |   32 +++++++++++++++++++++++++++++--
block/iscsi.c             |    5 +++--
block/nfs.c               |    5 +++--
block/null.c              |    4 +++-
block/nvme.c              |    6 ++++--
block/rbd.c               |    5 +++--
block/vxhs.c              |    5 +++--
cpus.c                    |   11 ++++-------
docs/devel/replay.txt     |   46 +++++++++++++++++++++++++++++++++++++++++++++
docs/replay.txt           |   12 +++++++++---
include/qemu/timer.h      |    7 +++----
include/sysemu/replay.h   |    7 ++++++-
qtest.c                   |    2 +-
replay/replay-events.c    |   18 +++++++++++++++++-
replay/replay-internal.c  |   10 +++++-----
replay/replay-internal.h  |   11 ++++++-----
replay/replay-snapshot.c  |    6 +++---
replay/replay-time.c      |   36 ++++++++++++++++-------------------
replay/replay.c           |   39 +++++++++++++++++++++++---------------
stubs/Makefile.objs       |    1 +
stubs/replay-user.c       |    9 +++++++++
tests/ptimer-test-stubs.c |    4 ++--
tests/ptimer-test.c       |    4 ++--
util/qemu-timer.c         |   41 ++++++++++++++++++++++++++++++++--------
vl.c                      |   11 +++++++++--
28 files changed, 259 insertions(+), 96 deletions(-)
create mode 100644 docs/devel/replay.txt
create mode 100644 stubs/replay-user.c
[Qemu-devel] [PATCH for-4.2 00/14] Some record/replay fixes
Posted by Pavel Dovgalyuk 4 years, 9 months ago
The set of patches include the latest fixes for record/replay icount function:
 - fix for icount for the case when translation blocks are chained
 - block operation fixes for rr mode
 - development documentation update
 - some refactoring

These patches make record/replay functional on the latest 4.2 QEMU core.

---

Pavel Dovgalyuk (13):
      block: implement bdrv_snapshot_goto for blkreplay
      replay: disable default snapshot for record/replay
      replay: update docs for record/replay with block devices
      replay: don't drain/flush bdrv queue while RR is working
      replay: finish record/replay before closing the disks
      replay: provide an accessor for rr filename
      replay: add BH oneshot event for block layer
      replay: document development rules
      util/qemu-timer: refactor deadline calculation for external timers
      replay: fix replay shutdown
      replay: refine replay-time module
      replay: rename step-related variables and functions
      icount: clean up cpu_can_io before jumping to the next block

pbonzini@redhat.com (1):
      replay: add missing fix for internal function


 accel/tcg/tcg-runtime.c   |    2 ++
 block/blkreplay.c         |    8 ++++++++
 block/block-backend.c     |    8 +++++---
 block/io.c                |   32 +++++++++++++++++++++++++++++--
 block/iscsi.c             |    5 +++--
 block/nfs.c               |    5 +++--
 block/null.c              |    4 +++-
 block/nvme.c              |    6 ++++--
 block/rbd.c               |    5 +++--
 block/vxhs.c              |    5 +++--
 cpus.c                    |   11 ++++-------
 docs/devel/replay.txt     |   46 +++++++++++++++++++++++++++++++++++++++++++++
 docs/replay.txt           |   12 +++++++++---
 include/qemu/timer.h      |    7 +++----
 include/sysemu/replay.h   |    7 ++++++-
 qtest.c                   |    2 +-
 replay/replay-events.c    |   18 +++++++++++++++++-
 replay/replay-internal.c  |   10 +++++-----
 replay/replay-internal.h  |   11 ++++++-----
 replay/replay-snapshot.c  |    6 +++---
 replay/replay-time.c      |   36 ++++++++++++++++-------------------
 replay/replay.c           |   39 +++++++++++++++++++++++---------------
 stubs/Makefile.objs       |    1 +
 stubs/replay-user.c       |    9 +++++++++
 tests/ptimer-test-stubs.c |    4 ++--
 tests/ptimer-test.c       |    4 ++--
 util/qemu-timer.c         |   41 ++++++++++++++++++++++++++++++++--------
 vl.c                      |   11 +++++++++--
 28 files changed, 259 insertions(+), 96 deletions(-)
 create mode 100644 docs/devel/replay.txt
 create mode 100644 stubs/replay-user.c

-- 
Pavel Dovgalyuk

Re: [Qemu-devel] [PATCH for-4.2 00/14] Some record/replay fixes
Posted by Paolo Bonzini 4 years, 9 months ago
On 24/07/19 10:43, Pavel Dovgalyuk wrote:
> The set of patches include the latest fixes for record/replay icount function:
>  - fix for icount for the case when translation blocks are chained
>  - block operation fixes for rr mode
>  - development documentation update
>  - some refactoring
> 
> These patches make record/replay functional on the latest 4.2 QEMU core.
> 
> ---
> 
> Pavel Dovgalyuk (13):
>       block: implement bdrv_snapshot_goto for blkreplay
>       replay: disable default snapshot for record/replay
>       replay: update docs for record/replay with block devices
>       replay: don't drain/flush bdrv queue while RR is working
>       replay: finish record/replay before closing the disks
>       replay: provide an accessor for rr filename
>       replay: add BH oneshot event for block layer
>       replay: document development rules
>       util/qemu-timer: refactor deadline calculation for external timers
>       replay: fix replay shutdown
>       replay: refine replay-time module
>       replay: rename step-related variables and functions
>       icount: clean up cpu_can_io before jumping to the next block
> 
> pbonzini@redhat.com (1):
>       replay: add missing fix for internal function
> 
> 
>  accel/tcg/tcg-runtime.c   |    2 ++
>  block/blkreplay.c         |    8 ++++++++
>  block/block-backend.c     |    8 +++++---
>  block/io.c                |   32 +++++++++++++++++++++++++++++--
>  block/iscsi.c             |    5 +++--
>  block/nfs.c               |    5 +++--
>  block/null.c              |    4 +++-
>  block/nvme.c              |    6 ++++--
>  block/rbd.c               |    5 +++--
>  block/vxhs.c              |    5 +++--
>  cpus.c                    |   11 ++++-------
>  docs/devel/replay.txt     |   46 +++++++++++++++++++++++++++++++++++++++++++++
>  docs/replay.txt           |   12 +++++++++---
>  include/qemu/timer.h      |    7 +++----
>  include/sysemu/replay.h   |    7 ++++++-
>  qtest.c                   |    2 +-
>  replay/replay-events.c    |   18 +++++++++++++++++-
>  replay/replay-internal.c  |   10 +++++-----
>  replay/replay-internal.h  |   11 ++++++-----
>  replay/replay-snapshot.c  |    6 +++---
>  replay/replay-time.c      |   36 ++++++++++++++++-------------------
>  replay/replay.c           |   39 +++++++++++++++++++++++---------------
>  stubs/Makefile.objs       |    1 +
>  stubs/replay-user.c       |    9 +++++++++
>  tests/ptimer-test-stubs.c |    4 ++--
>  tests/ptimer-test.c       |    4 ++--
>  util/qemu-timer.c         |   41 ++++++++++++++++++++++++++++++++--------
>  vl.c                      |   11 +++++++++--
>  28 files changed, 259 insertions(+), 96 deletions(-)
>  create mode 100644 docs/devel/replay.txt
>  create mode 100644 stubs/replay-user.c
> 

Please separate patches 1 and 9-14, I can merge those.

Paolo

Re: [Qemu-devel] [PATCH for-4.2 00/14] Some record/replay fixes
Posted by Kevin Wolf 4 years, 9 months ago
Am 24.07.2019 um 16:35 hat Paolo Bonzini geschrieben:
> On 24/07/19 10:43, Pavel Dovgalyuk wrote:
> > The set of patches include the latest fixes for record/replay icount function:
> >  - fix for icount for the case when translation blocks are chained
> >  - block operation fixes for rr mode
> >  - development documentation update
> >  - some refactoring
> > 
> > These patches make record/replay functional on the latest 4.2 QEMU core.
> 
> Please separate patches 1 and 9-14, I can merge those.

The block related parts have my Acked-by and the rest looks a bit like
no man's land, so I think you could just take the whole series.

Kevin

Re: [Qemu-devel] [PATCH for-4.2 00/14] Some record/replay fixes
Posted by Pavel Dovgalyuk 4 years, 9 months ago
> From: Kevin Wolf [mailto:kwolf@redhat.com]
> 
> Am 24.07.2019 um 16:35 hat Paolo Bonzini geschrieben:
> > On 24/07/19 10:43, Pavel Dovgalyuk wrote:
> > > The set of patches include the latest fixes for record/replay icount function:
> > >  - fix for icount for the case when translation blocks are chained
> > >  - block operation fixes for rr mode
> > >  - development documentation update
> > >  - some refactoring
> > >
> > > These patches make record/replay functional on the latest 4.2 QEMU core.
> >
> > Please separate patches 1 and 9-14, I can merge those.
> 
> The block related parts have my Acked-by and the rest looks a bit like
> no man's land, so I think you could just take the whole series.

I split the series and already sent the modified "no-block" part.
Therefore I'll send the rebased block related patches soon.

Pavel Dovgalyuk


Re: [Qemu-devel] [PATCH for-4.2 00/14] Some record/replay fixes
Posted by Pavel Dovgalyuk 4 years, 9 months ago
> From: Kevin Wolf [mailto:kwolf@redhat.com]
> Am 24.07.2019 um 16:35 hat Paolo Bonzini geschrieben:
> > On 24/07/19 10:43, Pavel Dovgalyuk wrote:
> > > The set of patches include the latest fixes for record/replay icount function:
> > >  - fix for icount for the case when translation blocks are chained
> > >  - block operation fixes for rr mode
> > >  - development documentation update
> > >  - some refactoring
> > >
> > > These patches make record/replay functional on the latest 4.2 QEMU core.
> >
> > Please separate patches 1 and 9-14, I can merge those.
> 
> The block related parts have my Acked-by and the rest looks a bit like
> no man's land, so I think you could just take the whole series.

Paolo, I've sent the rest of the patches as a separate series.
But they are rebased upon the first series.
Since Kevin agreed to merge them, can you put them in your queue?

Pavel Dovgalyuk