[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 12/25] replay: flush events when exiting
From: |
Pavel Dovgalyuk |
Subject: |
[Qemu-devel] [PATCH v6 12/25] replay: flush events when exiting |
Date: |
Wed, 12 Sep 2018 11:18:59 +0300 |
User-agent: |
StGit/0.17.1-dirty |
This patch adds events processing when emulation finishes instead
of just cleaning the queue. Now the bdrv coroutines will be in consistent
state when emulator closes. It allows correct polling of the block layer
at exit.
Signed-off-by: Pavel Dovgalyuk <address@hidden>
---
replay/replay-events.c | 14 +-------------
replay/replay-internal.h | 2 --
2 files changed, 1 insertion(+), 15 deletions(-)
diff --git a/replay/replay-events.c b/replay/replay-events.c
index 707de38..0964a82 100644
--- a/replay/replay-events.c
+++ b/replay/replay-events.c
@@ -94,18 +94,6 @@ void replay_disable_events(void)
}
}
-void replay_clear_events(void)
-{
- g_assert(replay_mutex_locked());
-
- while (!QTAILQ_EMPTY(&events_list)) {
- Event *event = QTAILQ_FIRST(&events_list);
- QTAILQ_REMOVE(&events_list, event, events);
-
- g_free(event);
- }
-}
-
/*! Adds specified async event to the queue */
void replay_add_event(ReplayAsyncEventKind event_kind,
void *opaque,
@@ -308,7 +296,7 @@ void replay_init_events(void)
void replay_finish_events(void)
{
events_enabled = false;
- replay_clear_events();
+ replay_flush_events();
}
bool replay_events_enabled(void)
diff --git a/replay/replay-internal.h b/replay/replay-internal.h
index f9cad9d..b824b7a 100644
--- a/replay/replay-internal.h
+++ b/replay/replay-internal.h
@@ -148,8 +148,6 @@ void replay_init_events(void);
void replay_finish_events(void);
/*! Flushes events queue */
void replay_flush_events(void);
-/*! Clears events list before loading new VM state */
-void replay_clear_events(void);
/*! Returns true if there are any unsaved events in the queue */
bool replay_has_events(void);
/*! Saves events from queue into the file */
- [Qemu-devel] [PATCH v6 03/25] replay: update docs for record/replay with block devices, (continued)
- [Qemu-devel] [PATCH v6 03/25] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 04/25] replay: don't drain/flush bdrv queue while RR is working, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 05/25] replay: finish record/replay before closing the disks, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 06/25] qcow2: introduce icount field for snapshots, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 07/25] migration: introduce icount field for snapshots, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 08/25] replay: provide and accessor for rr filename, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 09/25] replay: introduce info hmp/qmp command, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 10/25] replay: introduce breakpoint at the specified step, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 11/25] replay: implement replay-seek command to proceed to the desired step, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 14/25] translator: fix breakpoint processing, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 12/25] replay: flush events when exiting,
Pavel Dovgalyuk <=
- [Qemu-devel] [PATCH v6 15/25] replay: flush rr queue before loading the vmstate, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 13/25] replay: refine replay-time module, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 16/25] gdbstub: add reverse step support in replay mode, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 17/25] gdbstub: add reverse continue support in replay mode, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 18/25] replay: describe reverse debugging in docs/replay.txt, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 19/25] replay: allow loading any snapshots before recording, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 20/25] replay: wake up vCPU when replaying, Pavel Dovgalyuk, 2018/09/12
- [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, Pavel Dovgalyuk, 2018/09/12