migration: migration_thread_is_self
Define and export migration_thread_is_self to eliminate a dependency on MigrationState. Signed-off-by: Steve Sistare <steven.sistare@oracle.com> Link: https://lore.kernel.org/r/1710179338-294359-7-git-send-email-steven.sistare@oracle.com Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
714f33123b
commit
6e78563976
@ -61,6 +61,7 @@ void migration_object_init(void);
|
|||||||
void migration_shutdown(void);
|
void migration_shutdown(void);
|
||||||
bool migration_is_idle(void);
|
bool migration_is_idle(void);
|
||||||
bool migration_is_active(void);
|
bool migration_is_active(void);
|
||||||
|
bool migration_thread_is_self(void);
|
||||||
bool migration_is_setup_or_active(void);
|
bool migration_is_setup_or_active(void);
|
||||||
bool migrate_mode_is_cpr(MigrationState *);
|
bool migrate_mode_is_cpr(MigrationState *);
|
||||||
|
|
||||||
|
@ -1647,6 +1647,13 @@ bool migration_is_active(void)
|
|||||||
s->state == MIGRATION_STATUS_POSTCOPY_ACTIVE);
|
s->state == MIGRATION_STATUS_POSTCOPY_ACTIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool migration_thread_is_self(void)
|
||||||
|
{
|
||||||
|
MigrationState *s = current_migration;
|
||||||
|
|
||||||
|
return qemu_thread_is_self(&s->thread);
|
||||||
|
}
|
||||||
|
|
||||||
bool migrate_mode_is_cpr(MigrationState *s)
|
bool migrate_mode_is_cpr(MigrationState *s)
|
||||||
{
|
{
|
||||||
return s->parameters.mode == MIG_MODE_CPR_REBOOT;
|
return s->parameters.mode == MIG_MODE_CPR_REBOOT;
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "migration/misc.h"
|
#include "migration/misc.h"
|
||||||
#include "migration/migration.h"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Dirtylimit stop working if dirty page rate error
|
* Dirtylimit stop working if dirty page rate error
|
||||||
@ -448,10 +447,8 @@ static void dirtylimit_cleanup(void)
|
|||||||
*/
|
*/
|
||||||
static bool dirtylimit_is_allowed(void)
|
static bool dirtylimit_is_allowed(void)
|
||||||
{
|
{
|
||||||
MigrationState *ms = migrate_get_current();
|
|
||||||
|
|
||||||
if (migration_is_running() &&
|
if (migration_is_running() &&
|
||||||
(!qemu_thread_is_self(&ms->thread)) &&
|
!migration_thread_is_self() &&
|
||||||
migrate_dirty_limit() &&
|
migrate_dirty_limit() &&
|
||||||
dirtylimit_in_service()) {
|
dirtylimit_in_service()) {
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user