[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH V2 06/11] migration: migration_thread_is_self
From: |
Steve Sistare |
Subject: |
[PATCH V2 06/11] migration: migration_thread_is_self |
Date: |
Mon, 11 Mar 2024 10:48:53 -0700 |
Define and export migration_thread_is_self to eliminate a dependency
on MigrationState.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
include/migration/misc.h | 1 +
migration/migration.c | 7 +++++++
system/dirtylimit.c | 5 +----
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/include/migration/misc.h b/include/migration/misc.h
index 7526977..c4b5416 100644
--- a/include/migration/misc.h
+++ b/include/migration/misc.h
@@ -61,6 +61,7 @@ void migration_object_init(void);
void migration_shutdown(void);
bool migration_is_idle(void);
bool migration_is_active(void);
+bool migration_thread_is_self(void);
bool migration_is_setup_or_active(void);
bool migrate_mode_is_cpr(MigrationState *);
diff --git a/migration/migration.c b/migration/migration.c
index 546ba86..afe72af 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1647,6 +1647,13 @@ bool migration_is_active(void)
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)
{
return s->parameters.mode == MIG_MODE_CPR_REBOOT;
diff --git a/system/dirtylimit.c b/system/dirtylimit.c
index b0afaa0..ab20da3 100644
--- a/system/dirtylimit.c
+++ b/system/dirtylimit.c
@@ -25,7 +25,6 @@
#include "sysemu/kvm.h"
#include "trace.h"
#include "migration/misc.h"
-#include "migration/migration.h"
/*
* Dirtylimit stop working if dirty page rate error
@@ -448,10 +447,8 @@ static void dirtylimit_cleanup(void)
*/
static bool dirtylimit_is_allowed(void)
{
- MigrationState *ms = migrate_get_current();
-
if (migration_is_running() &&
- (!qemu_thread_is_self(&ms->thread)) &&
+ !migration_thread_is_self() &&
migrate_dirty_limit() &&
dirtylimit_in_service()) {
return false;
--
1.8.3.1
- [PATCH V2 00/11] privatize migration.h, Steve Sistare, 2024/03/11
- [PATCH V2 01/11] migration: remove migration.h references, Steve Sistare, 2024/03/11
- [PATCH V2 02/11] migration: export migration_is_setup_or_active, Steve Sistare, 2024/03/11
- [PATCH V2 03/11] migration: export migration_is_active, Steve Sistare, 2024/03/11
- [PATCH V2 04/11] migration: export migration_is_running, Steve Sistare, 2024/03/11
- [PATCH V2 06/11] migration: migration_thread_is_self,
Steve Sistare <=
- [PATCH V2 05/11] migration: export vcpu_dirty_limit_period, Steve Sistare, 2024/03/11
- [PATCH V2 07/11] migration: migration_is_device, Steve Sistare, 2024/03/11
- [PATCH V2 08/11] migration: migration_file_set_error, Steve Sistare, 2024/03/11
- [PATCH V2 10/11] migration: delete unused accessors, Steve Sistare, 2024/03/11
- [PATCH V2 09/11] migration: privatize colo interfaces, Steve Sistare, 2024/03/11
- [PATCH V2 11/11] migration: purge MigrationState from public interface, Steve Sistare, 2024/03/11
- Re: [PATCH V2 00/11] privatize migration.h, Peter Xu, 2024/03/11