mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -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
|
@ -316,6 +316,12 @@ struct MigrationState {
|
|||
* be cleared in the rp_thread!
|
||||
*/
|
||||
bool rp_thread_created;
|
||||
/*
|
||||
* Used to synchronize between migration main thread and return
|
||||
* path thread. The migration thread can wait() on this sem, while
|
||||
* other threads (e.g., return path thread) can kick it using a
|
||||
* post().
|
||||
*/
|
||||
QemuSemaphore rp_sem;
|
||||
/*
|
||||
* We post to this when we got one PONG from dest. So far it's an
|
||||
|
@ -527,4 +533,13 @@ void migration_populate_vfio_info(MigrationInfo *info);
|
|||
void migration_reset_vfio_bytes_transferred(void);
|
||||
void postcopy_temp_page_reset(PostcopyTmpPage *tmp_page);
|
||||
|
||||
/* Migration thread waiting for return path thread. */
|
||||
void migration_rp_wait(MigrationState *s);
|
||||
/*
|
||||
* Kick the migration thread waiting for return path messages. NOTE: the
|
||||
* name can be slightly confusing (when read as "kick the rp thread"), just
|
||||
* to remember the target is always the migration thread.
|
||||
*/
|
||||
void migration_rp_kick(MigrationState *s);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue