mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
migration: Add migration_rp_wait|kick()
It's just a simple wrapper for rp_sem on either wait() or kick(), make it even clearer on how it is used. Prepared to be used even for other things. Reviewed-by: Fabiano Rosas <farosas@suse.de> Signed-off-by: Peter Xu <peterx@redhat.com> Message-ID: <20231004220240.167175-8-peterx@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
1015ff5476
commit
5e79a4bf03
3 changed files with 34 additions and 11 deletions
|
@ -1763,6 +1763,16 @@ static void mark_source_rp_bad(MigrationState *s)
|
|||
s->rp_state.error = true;
|
||||
}
|
||||
|
||||
void migration_rp_wait(MigrationState *s)
|
||||
{
|
||||
qemu_sem_wait(&s->rp_state.rp_sem);
|
||||
}
|
||||
|
||||
void migration_rp_kick(MigrationState *s)
|
||||
{
|
||||
qemu_sem_post(&s->rp_state.rp_sem);
|
||||
}
|
||||
|
||||
static struct rp_cmd_args {
|
||||
ssize_t len; /* -1 = variable */
|
||||
const char *name;
|
||||
|
@ -1835,7 +1845,7 @@ static int migrate_handle_rp_resume_ack(MigrationState *s, uint32_t value)
|
|||
MIGRATION_STATUS_POSTCOPY_ACTIVE);
|
||||
|
||||
/* Notify send thread that time to continue send pages */
|
||||
qemu_sem_post(&s->rp_state.rp_sem);
|
||||
migration_rp_kick(s);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -2464,7 +2474,7 @@ static int postcopy_resume_handshake(MigrationState *s)
|
|||
qemu_savevm_send_postcopy_resume(s->to_dst_file);
|
||||
|
||||
while (s->state == MIGRATION_STATUS_POSTCOPY_RECOVER) {
|
||||
qemu_sem_wait(&s->rp_state.rp_sem);
|
||||
migration_rp_wait(s);
|
||||
}
|
||||
|
||||
if (s->state == MIGRATION_STATUS_POSTCOPY_ACTIVE) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue