[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v8 08/20] migration: introduce icount field for
From: |
Pavel Dovgalyuk |
Subject: |
Re: [Qemu-devel] [PATCH v8 08/20] migration: introduce icount field for snapshots |
Date: |
Fri, 21 Dec 2018 13:39:11 +0300 |
> From: Markus Armbruster [mailto:address@hidden
> Pavel Dovgalyuk <address@hidden> writes:
>
> > Saving icount as a parameters of the snapshot allows navigation between
> > them in the execution replay scenario.
> > This information can be used for finding a specific snapshot for rewinding
> > the recorded execution to the specific moment of the time.
> > E.g., 'reverse step' action needs to load the nearest snapshot which is
> > prior to the current moment of time .
> >
> > Signed-off-by: Pavel Dovgalyuk <address@hidden>
> [...]
> > diff --git a/migration/savevm.c b/migration/savevm.c
> > index 9e45fb4..a031e5b 100644
> > --- a/migration/savevm.c
> > +++ b/migration/savevm.c
> > @@ -2509,6 +2509,11 @@ int save_snapshot(const char *name, Error **errp)
> > sn->date_sec = tv.tv_sec;
> > sn->date_nsec = tv.tv_usec * 1000;
> > sn->vm_clock_nsec = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
> > + if (replay_mode != REPLAY_MODE_NONE) {
> > + sn->icount = replay_get_current_step();
> > + } else {
> > + sn->icount = -1ULL;
> > + }
> >
> > if (name) {
> > ret = bdrv_snapshot_find(bs, old_sn, name);
> > diff --git a/qapi/block-core.json b/qapi/block-core.json
> > index 762000f..7bb1727 100644
> > --- a/qapi/block-core.json
> > +++ b/qapi/block-core.json
> > @@ -26,13 +26,18 @@
> > #
> > # @vm-clock-nsec: fractional part in nano seconds to be used with
> > vm-clock-sec
> > #
> > +# @icount: Current instruction count. Appears when execution record/replay
> > +# is enabled. Used for "time-traveling" to match the moment
> > +# in the recorded execution with the snapshots (since 4.0)
> > +#
> > # Since: 1.3
> > #
> > ##
> > { 'struct': 'SnapshotInfo',
> > 'data': { 'id': 'str', 'name': 'str', 'vm-state-size': 'int',
> > 'date-sec': 'int', 'date-nsec': 'int',
> > - 'vm-clock-sec': 'int', 'vm-clock-nsec': 'int' } }
> > + 'vm-clock-sec': 'int', 'vm-clock-nsec': 'int',
> > + '*icount': 'int' } }
> >
> > ##
> > # @ImageInfoSpecificQCow2EncryptionBase:
>
> As far as I can tell, @icount is the same as ReplayInfo's @step. But I
> had to look at the code to tell. Please name the two consistently.
> Also consider having the documentation refer to ReplayInfo.
Thanks for noticing, renamed everything to 'icount' to match with command line
option.
Pavel Dovgalyuk
- [Qemu-devel] [PATCH v8 00/20] Fixing record/replay and adding reverse debugging, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 01/20] replay: add missing fix for internal function, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 02/20] block: implement bdrv_snapshot_goto for blkreplay, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 03/20] replay: disable default snapshot for record/replay, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 04/20] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 06/20] replay: finish record/replay before closing the disks, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 05/20] replay: don't drain/flush bdrv queue while RR is working, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 07/20] qcow2: introduce icount field for snapshots, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 08/20] migration: introduce icount field for snapshots, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 09/20] replay: provide and accessor for rr filename, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 10/20] replay: introduce info hmp/qmp command, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 11/20] replay: introduce breakpoint at the specified step, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 12/20] replay: implement replay-seek command to proceed to the desired step, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 13/20] replay: refine replay-time module, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 14/20] replay: flush rr queue before loading the vmstate, Pavel Dovgalyuk, 2018/12/18