mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
replay: add BH oneshot event for block layer
Replay is capable of recording normal BH events, but sometimes there are single use callbacks scheduled with aio_bh_schedule_oneshot function. This patch enables recording and replaying such callbacks. Block layer uses these events for calling the completion function. Replaying these calls makes the execution deterministic. Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru> Acked-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
ae25dccb7d
commit
e4ec5ad464
13 changed files with 59 additions and 16 deletions
|
@ -15,6 +15,7 @@
|
|||
#include "qapi/qapi-types-misc.h"
|
||||
#include "qapi/qapi-types-run-state.h"
|
||||
#include "qapi/qapi-types-ui.h"
|
||||
#include "block/aio.h"
|
||||
|
||||
/* replay clock kinds */
|
||||
enum ReplayClockKind {
|
||||
|
@ -140,6 +141,9 @@ void replay_enable_events(void);
|
|||
bool replay_events_enabled(void);
|
||||
/*! Adds bottom half event to the queue */
|
||||
void replay_bh_schedule_event(QEMUBH *bh);
|
||||
/* Adds oneshot bottom half event to the queue */
|
||||
void replay_bh_schedule_oneshot_event(AioContext *ctx,
|
||||
QEMUBHFunc *cb, void *opaque);
|
||||
/*! Adds input event to the queue */
|
||||
void replay_input_event(QemuConsole *src, InputEvent *evt);
|
||||
/*! Adds input sync event to the queue */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue