[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 08/17] migration: Convert to new bh API
From: |
Nicholas Piggin |
Subject: |
[PATCH 08/17] migration: Convert to new bh API |
Date: |
Fri, 20 Dec 2024 20:42:10 +1000 |
Convert aio_bh_schedule_oneshot() to aio_bh_schedule_oneshot_event(),
which can specify the clock type, making it compatible with
record-replay.
Snapsohtting does not affect target machine state, so it should use
QEMU_CLOCK_REALTIME so it is not recorded and replayed.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
migration/savevm.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/migration/savevm.c b/migration/savevm.c
index 98821c81207..8477f116c79 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -3441,8 +3441,9 @@ static int coroutine_fn snapshot_save_job_run(Job *job,
Error **errp)
SnapshotJob *s = container_of(job, SnapshotJob, common);
s->errp = errp;
s->co = qemu_coroutine_self();
- aio_bh_schedule_oneshot(qemu_get_aio_context(),
- snapshot_save_job_bh, job);
+ aio_bh_schedule_oneshot_event(qemu_get_aio_context(),
+ snapshot_save_job_bh, job,
+ QEMU_CLOCK_REALTIME);
qemu_coroutine_yield();
return s->ret ? 0 : -1;
}
@@ -3452,8 +3453,9 @@ static int coroutine_fn snapshot_load_job_run(Job *job,
Error **errp)
SnapshotJob *s = container_of(job, SnapshotJob, common);
s->errp = errp;
s->co = qemu_coroutine_self();
- aio_bh_schedule_oneshot(qemu_get_aio_context(),
- snapshot_load_job_bh, job);
+ aio_bh_schedule_oneshot_event(qemu_get_aio_context(),
+ snapshot_load_job_bh, job,
+ QEMU_CLOCK_REALTIME);
qemu_coroutine_yield();
return s->ret ? 0 : -1;
}
@@ -3463,8 +3465,9 @@ static int coroutine_fn snapshot_delete_job_run(Job *job,
Error **errp)
SnapshotJob *s = container_of(job, SnapshotJob, common);
s->errp = errp;
s->co = qemu_coroutine_self();
- aio_bh_schedule_oneshot(qemu_get_aio_context(),
- snapshot_delete_job_bh, job);
+ aio_bh_schedule_oneshot_event(qemu_get_aio_context(),
+ snapshot_delete_job_bh, job,
+ QEMU_CLOCK_REALTIME);
qemu_coroutine_yield();
return s->ret ? 0 : -1;
}
--
2.45.2
- Re: [PATCH 01/17] replay: Fix migration use of clock for statistics, (continued)
- [PATCH 02/17] replay: Fix migration replay_mutex locking, Nicholas Piggin, 2024/12/20
- [PATCH 03/17] async: rework async event API for replay, Nicholas Piggin, 2024/12/20
- [PATCH 04/17] util/main-loop: Convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 05/17] util/thread-pool: Convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 06/17] util/aio-wait: Convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 07/17] async/coroutine: Convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 08/17] migration: Convert to new bh API,
Nicholas Piggin <=
- [PATCH 09/17] monitor: Convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 10/17] qmp: Convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 11/17] block: Convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 12/17] hw/ide: Fix record-replay and convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 13/17] hw/scsi: Convert to new bh API, Nicholas Piggin, 2024/12/20
- [PATCH 14/17] async: add debugging assertions for record/replay in bh APIs, Nicholas Piggin, 2024/12/20
- [PATCH 15/17] tests/avocado/replay_linux: Fix compile error, Nicholas Piggin, 2024/12/20
- [PATCH 16/17] tests/avocado/replay_linux: Fix cdrom device setup, Nicholas Piggin, 2024/12/20