[Qemu-devel] [PATCH v9 00/10] replay additions

Pavel Dovgalyuk posted 10 patches 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170504084135.7488.24715.stgit@PASHA-ISP
Test checkpatch failed
Test docker passed
Test s390x passed
block/blkreplay.c        |   73 +++++++++++++++++++++++++++++++++++++
cpus.c                   |   90 +++++++++++++++++++++++++++++++++++-----------
docs/replay.txt          |   69 +++++++++++++++++++++++++++++++++++
include/qemu/timer.h     |   14 +++++++
include/sysemu/replay.h  |    3 ++
migration/savevm.c       |   13 +++++++
replay/replay-events.c   |   12 ++++--
replay/replay-internal.h |    2 +
replay/replay-snapshot.c |    9 +++++
stubs/replay.c           |    1 +
util/qemu-timer.c        |   12 ++++++
vl.c                     |   10 ++++-
12 files changed, 279 insertions(+), 29 deletions(-)
[Qemu-devel] [PATCH v9 00/10] replay additions
Posted by Pavel Dovgalyuk 6 years, 11 months ago
This set of patches 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
 - fixes for icount timers vmstate

v9 changes:
 - Added vmstate for host clock parameters and icount timers
 - Fixed replay event queue issues
 - Fixed vm stopping while recording or replaying the execution
 - Fixed save/load vmstate issues in record/replay mode

v8 changes:
 - Refined replay exception processing (as suggested by Paolo Bonzini)
 - Saving/restoring static variable for APIC only once (as suggested by Paolo Bonzini)
 - Removed already queued patches
 - Minor fixes

v7 changes:
 - Fixed exception replaying when TB cache is full and
   when tb_find is called when there are no instructions about to execute
 - Added record/replay for audio devices

v6 changes:
 - Added overlay creation for blkreplay driver
 - Fixed vmstate loading for apic and rtc
 - Fixed instruction counting for apic instruction patching

v5 changes:
 - Recording is stopped when initial snapshot cannot be created
 - Minor changes

v4 changes:
 - Overlay option is removed from blkreplay driver (as suggested by Paolo Bonzini)
 - Minor changes

v3 changes:
 - Added rrsnapshot option for specifying the initial snapshot name (as suggested by Paolo Bonzini)
 - Minor changes

---

Pavel Dovgalyuk (10):
      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: make safe vmstop at record/replay
      replay: save prior value of the host clock
      icount: fixed saving/restoring of icount warp timers


 block/blkreplay.c        |   73 +++++++++++++++++++++++++++++++++++++
 cpus.c                   |   90 +++++++++++++++++++++++++++++++++++-----------
 docs/replay.txt          |   69 +++++++++++++++++++++++++++++++++++
 include/qemu/timer.h     |   14 +++++++
 include/sysemu/replay.h  |    3 ++
 migration/savevm.c       |   13 +++++++
 replay/replay-events.c   |   12 ++++--
 replay/replay-internal.h |    2 +
 replay/replay-snapshot.c |    9 +++++
 stubs/replay.c           |    1 +
 util/qemu-timer.c        |   12 ++++++
 vl.c                     |   10 ++++-
 12 files changed, 279 insertions(+), 29 deletions(-)

-- 
Pavel Dovgalyuk

Re: [Qemu-devel] [PATCH v9 00/10] replay additions
Posted by no-reply@patchew.org 6 years, 11 months ago
Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [Qemu-devel] [PATCH v9 00/10] replay additions
Message-id: 20170504084135.7488.24715.stgit@PASHA-ISP
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/1493816238-33120-1-git-send-email-imammedo@redhat.com -> patchew/1493816238-33120-1-git-send-email-imammedo@redhat.com
 * [new tag]         patchew/1493888311-30839-1-git-send-email-thuth@redhat.com -> patchew/1493888311-30839-1-git-send-email-thuth@redhat.com
Switched to a new branch 'test'
bf3cfc0 icount: fixed saving/restoring of icount warp timers
37b3637 replay: save prior value of the host clock
0a8766b replay: make safe vmstop at record/replay
3aecd8c replay: added replay log format description
0d8963d replay: fix save/load vm for non-empty queue
9c14e13 replay: fixed replay_enable_events
70c9cd1 replay: fix processing async events
37292c3 replay: disable default snapshot for record/replay
5973813 blkreplay: create temporary overlay for underlaying devices
f34a13b block: implement bdrv_snapshot_goto for blkreplay

=== OUTPUT BEGIN ===
Checking PATCH 1/10: block: implement bdrv_snapshot_goto for blkreplay...
Checking PATCH 2/10: blkreplay: create temporary overlay for underlaying devices...
Checking PATCH 3/10: replay: disable default snapshot for record/replay...
Checking PATCH 4/10: replay: fix processing async events...
Checking PATCH 5/10: replay: fixed replay_enable_events...
Checking PATCH 6/10: replay: fix save/load vm for non-empty queue...
WARNING: line over 80 characters
#45: FILE: migration/savevm.c:2088:
+        monitor_printf(mon, "Record/replay does not allow making snapshot right now. "

ERROR: Error messages should not contain newlines
#59: FILE: migration/savevm.c:2256:
+                     "Try stopping at another step.\n");

total: 1 errors, 1 warnings, 48 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 7/10: replay: added replay log format description...
Checking PATCH 8/10: replay: make safe vmstop at record/replay...
Checking PATCH 9/10: replay: save prior value of the host clock...
Checking PATCH 10/10: icount: fixed saving/restoring of icount warp timers...
ERROR: line over 90 characters
#98: FILE: cpus.c:595:
+            if (timers_state.vm_clock_warp_start == -1 || timers_state.vm_clock_warp_start > clock) {

WARNING: line over 80 characters
#103: FILE: cpus.c:599:
+            timer_mod_anticipate(timers_state.icount_warp_timer, clock + deadline);

ERROR: spaces required around that '*' (ctx:VxV)
#168: FILE: cpus.c:685:
+    .subsections = (const VMStateDescription*[]) {
                                             ^

total: 2 errors, 1 warnings, 172 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org