All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 00/26] replay additions
@ 2017-10-31 11:24 Pavel Dovgalyuk
  2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 01/26] block: implement bdrv_snapshot_goto for blkreplay Pavel Dovgalyuk
                   ` (27 more replies)
  0 siblings, 28 replies; 66+ messages in thread
From: Pavel Dovgalyuk @ 2017-10-31 11:24 UTC (permalink / raw)
  To: qemu-devel
  Cc: kwolf, peter.maydell, boost.lists, quintela, jasowang, mst,
	zuban32s, maria.klimushenkova, dovgaluk, kraxel, pavel.dovgaluk,
	pbonzini, alex.bennee

Accidentally sent draft version of patches to the mailing list.
Please consider this one as the correct one.

This set of patches includex fixes from Alex Bennée for fixing
BQL and replay locks after inventing the MTTCG. It also includes some
additional replay patches that makes this set of fixes working.
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
 - fixes for icount timers vmstate

There is also a set of helper scripts written by Alex Bennée
for debugging the record/replay code.

---

Alex Bennée (12):
      target/arm/arm-powertctl: drop BQL assertions
      cpus: push BQL lock to qemu_*_wait_io_event
      cpus: only take BQL for sleeping threads
      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/qemu-gdb: add simple tcg lock status helper
      util/qemu-thread-*: add qemu_lock, locked and unlock trace events
      scripts/analyse-locks-simpletrace.py: script to analyse lock times
      scripts/replay-dump.py: replay log dumper
      scripts/qemu-gdb/timers.py: new helper to dump timer state

Pavel Dovgalyuk (14):
      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
      cpu-exec: don't overwrite exception_index
      cpu-exec: reset exit flag before calling cpu_exec_nocache
      replay: don't destroy mutex at exit
      replay: check return values of fwrite


 accel/kvm/kvm-all.c                  |    4 
 accel/tcg/cpu-exec.c                 |    5 -
 block/blkreplay.c                    |   73 ++++++++
 cpus-common.c                        |   13 +
 cpus.c                               |  149 +++++++++++++---
 docs/replay.txt                      |   88 ++++++++++
 include/qemu/thread.h                |   14 +-
 include/qemu/timer.h                 |   14 ++
 include/sysemu/replay.h              |   19 ++
 migration/savevm.c                   |   13 +
 replay/replay-char.c                 |   21 +-
 replay/replay-events.c               |   30 +--
 replay/replay-internal.c             |   26 +++
 replay/replay-internal.h             |    9 +
 replay/replay-snapshot.c             |    9 +
 replay/replay-time.c                 |   10 +
 replay/replay.c                      |   43 ++---
 scripts/analyse-locks-simpletrace.py |   99 +++++++++++
 scripts/qemu-gdb.py                  |    4 
 scripts/qemugdb/tcg.py               |   46 +++++
 scripts/qemugdb/timers.py            |   54 ++++++
 scripts/replay-dump.py               |  308 ++++++++++++++++++++++++++++++++++
 stubs/replay.c                       |   16 ++
 target/arm/arm-powerctl.c            |    8 -
 target/i386/hax-all.c                |    3 
 util/main-loop.c                     |   23 ++-
 util/qemu-thread-posix.c             |   21 +-
 util/qemu-timer.c                    |   12 +
 util/trace-events                    |    7 -
 vl.c                                 |   12 +
 30 files changed, 1014 insertions(+), 139 deletions(-)
 create mode 100755 scripts/analyse-locks-simpletrace.py
 create mode 100644 scripts/qemugdb/tcg.py
 create mode 100644 scripts/qemugdb/timers.py
 create mode 100755 scripts/replay-dump.py

-- 
Pavel Dovgalyuk

^ permalink raw reply	[flat|nested] 66+ messages in thread
* [Qemu-devel] [RFC PATCH 00/26] replay additions
@ 2017-10-31 11:06 Pavel Dovgalyuk
  2017-10-31 11:07 ` [Qemu-devel] [RFC PATCH 13/26] cpus: only take BQL for sleeping threads Pavel Dovgalyuk
  0 siblings, 1 reply; 66+ messages in thread
From: Pavel Dovgalyuk @ 2017-10-31 11:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: dovgaluk

This set of patches includex fixes from Alex Bennée for fixing
BQL and replay locks after inventing the MTTCG. It also includes some
additional replay patches that makes this set of fixes working.
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
 - fixes for icount timers vmstate

There is also a set of helper scripts written by Alex Bennée
for debugging the record/replay code.

---

Alex Bennée (12):
      target/arm/arm-powertctl: drop BQL assertions
      cpus: push BQL lock to qemu_*_wait_io_event
      cpus: only take BQL for sleeping threads
      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/qemu-gdb: add simple tcg lock status helper
      util/qemu-thread-*: add qemu_lock, locked and unlock trace events
      scripts/analyse-locks-simpletrace.py: script to analyse lock times
      scripts/replay-dump.py: replay log dumper
      scripts/qemu-gdb/timers.py: new helper to dump timer state

Pavel Dovgalyuk (14):
      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
      cpu-exec: don't overwrite exception_index
      cpu-exec: reset exit flag before calling cpu_exec_nocache
      replay: don't destroy mutex at exit
      replay: check return values of fwrite


 accel/kvm/kvm-all.c                  |    4 
 accel/tcg/cpu-exec.c                 |    5 -
 block/blkreplay.c                    |   73 ++++++++
 cpus-common.c                        |   13 +
 cpus.c                               |  149 +++++++++++++---
 docs/replay.txt                      |   88 ++++++++++
 include/qemu/thread.h                |   14 +-
 include/qemu/timer.h                 |   14 ++
 include/sysemu/replay.h              |   19 ++
 migration/savevm.c                   |   13 +
 replay/replay-char.c                 |   21 +-
 replay/replay-events.c               |   30 +--
 replay/replay-internal.c             |   26 +++
 replay/replay-internal.h             |    9 +
 replay/replay-snapshot.c             |    9 +
 replay/replay-time.c                 |   10 +
 replay/replay.c                      |   43 ++---
 scripts/analyse-locks-simpletrace.py |   99 +++++++++++
 scripts/qemu-gdb.py                  |    4 
 scripts/qemugdb/tcg.py               |   46 +++++
 scripts/qemugdb/timers.py            |   54 ++++++
 scripts/replay-dump.py               |  308 ++++++++++++++++++++++++++++++++++
 stubs/replay.c                       |   16 ++
 target/arm/arm-powerctl.c            |    8 -
 target/i386/hax-all.c                |    3 
 util/main-loop.c                     |   23 ++-
 util/qemu-thread-posix.c             |   21 +-
 util/qemu-timer.c                    |   12 +
 util/trace-events                    |    7 -
 vl.c                                 |   12 +
 30 files changed, 1014 insertions(+), 139 deletions(-)
 create mode 100755 scripts/analyse-locks-simpletrace.py
 create mode 100644 scripts/qemugdb/tcg.py
 create mode 100644 scripts/qemugdb/timers.py
 create mode 100755 scripts/replay-dump.py

-- 
Pavel Dovgalyuk

^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2017-11-13 10:59 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-31 11:24 [Qemu-devel] [RFC PATCH 00/26] replay additions Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 01/26] block: implement bdrv_snapshot_goto for blkreplay Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 02/26] blkreplay: create temporary overlay for underlaying devices Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 03/26] replay: disable default snapshot for record/replay Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 04/26] replay: fix processing async events Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 05/26] replay: fixed replay_enable_events Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 06/26] replay: fix save/load vm for non-empty queue Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 07/26] replay: added replay log format description Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 08/26] replay: make safe vmstop at record/replay Pavel Dovgalyuk
2017-11-02 11:28   ` Paolo Bonzini
2017-11-02 11:57     ` Pavel Dovgalyuk
2017-11-02 12:00       ` Paolo Bonzini
2017-11-02 12:04         ` Pavel Dovgalyuk
2017-11-02 12:21           ` Paolo Bonzini
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 09/26] replay: save prior value of the host clock Pavel Dovgalyuk
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 10/26] icount: fixed saving/restoring of icount warp timers Pavel Dovgalyuk
2017-11-02 11:27   ` Paolo Bonzini
2017-10-31 11:25 ` [Qemu-devel] [RFC PATCH 11/26] target/arm/arm-powertctl: drop BQL assertions Pavel Dovgalyuk
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 12/26] cpus: push BQL lock to qemu_*_wait_io_event Pavel Dovgalyuk
2017-11-02 11:26   ` Paolo Bonzini
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 13/26] cpus: only take BQL for sleeping threads Pavel Dovgalyuk
2017-11-02 11:08   ` Paolo Bonzini
2017-11-02 18:39     ` David Hildenbrand
2017-11-02 20:03       ` Paolo Bonzini
2017-11-13  8:52         ` Pavel Dovgalyuk
2017-11-13 10:14           ` Alex Bennée
2017-11-13 10:58             ` Paolo Bonzini
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 14/26] replay/replay.c: bump REPLAY_VERSION again Pavel Dovgalyuk
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 15/26] replay/replay-internal.c: track holding of replay_lock Pavel Dovgalyuk
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 16/26] replay: make locking visible outside replay code Pavel Dovgalyuk
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 17/26] replay: push replay_mutex_lock up the call tree Pavel Dovgalyuk
2017-11-02 11:56   ` Paolo Bonzini
2017-11-02 12:00   ` Paolo Bonzini
2017-11-03  9:16     ` Pavel Dovgalyuk
2017-11-03  9:47       ` Alex Bennée
2017-11-03 10:17         ` Paolo Bonzini
2017-11-06 13:05           ` Alex Bennée
2017-11-06 13:10             ` Paolo Bonzini
2017-11-06 16:30               ` Alex Bennée
2017-11-06 16:35                 ` Paolo Bonzini
2017-11-03 10:17       ` Paolo Bonzini
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 18/26] cpu-exec: don't overwrite exception_index Pavel Dovgalyuk
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 19/26] cpu-exec: reset exit flag before calling cpu_exec_nocache Pavel Dovgalyuk
2017-11-02 11:17   ` Paolo Bonzini
2017-11-02 11:24     ` Pavel Dovgalyuk
2017-11-02 11:33       ` Paolo Bonzini
2017-11-02 11:46         ` Paolo Bonzini
2017-11-03  8:27           ` Pavel Dovgalyuk
2017-11-06 13:48             ` Paolo Bonzini
2017-11-10  8:20               ` Pavel Dovgalyuk
2017-11-10  8:31                 ` Paolo Bonzini
2017-11-10 12:29                   ` Pavel Dovgalyuk
2017-11-10 13:12                     ` Paolo Bonzini
2017-11-06 14:01             ` Alex Bennée
2017-11-02 12:45         ` Pavel Dovgalyuk
2017-11-02 14:43           ` Paolo Bonzini
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 20/26] replay: don't destroy mutex at exit Pavel Dovgalyuk
2017-10-31 11:26 ` [Qemu-devel] [RFC PATCH 21/26] replay: check return values of fwrite Pavel Dovgalyuk
2017-10-31 11:27 ` [Qemu-devel] [RFC PATCH 22/26] scripts/qemu-gdb: add simple tcg lock status helper Pavel Dovgalyuk
2017-10-31 11:27 ` [Qemu-devel] [RFC PATCH 23/26] util/qemu-thread-*: add qemu_lock, locked and unlock trace events Pavel Dovgalyuk
2017-10-31 11:27 ` [Qemu-devel] [RFC PATCH 24/26] scripts/analyse-locks-simpletrace.py: script to analyse lock times Pavel Dovgalyuk
2017-10-31 11:27 ` [Qemu-devel] [RFC PATCH 25/26] scripts/replay-dump.py: replay log dumper Pavel Dovgalyuk
2017-10-31 11:27 ` [Qemu-devel] [RFC PATCH 26/26] scripts/qemu-gdb/timers.py: new helper to dump timer state Pavel Dovgalyuk
2017-10-31 16:11 ` [Qemu-devel] [RFC PATCH 00/26] replay additions no-reply
2017-10-31 18:31 ` no-reply
  -- strict thread matches above, loose matches on Subject: below --
2017-10-31 11:06 Pavel Dovgalyuk
2017-10-31 11:07 ` [Qemu-devel] [RFC PATCH 13/26] cpus: only take BQL for sleeping threads Pavel Dovgalyuk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.