[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 31/31] ram: move postcopy_requests into RAMState
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 31/31] ram: move postcopy_requests into RAMState |
Date: |
Wed, 15 Mar 2017 14:50:21 +0100 |
Signed-off-by: Juan Quintela <address@hidden>
---
include/migration/migration.h | 3 +--
migration/migration.c | 3 +--
migration/ram.c | 9 ++++++++-
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/include/migration/migration.h b/include/migration/migration.h
index 43bdf86..bc48a8e 100644
--- a/include/migration/migration.h
+++ b/include/migration/migration.h
@@ -169,8 +169,6 @@ struct MigrationState
bool enabled_capabilities[MIGRATION_CAPABILITY__MAX];
int64_t xbzrle_cache_size;
int64_t setup_time;
- /* Count of requests incoming from destination */
- int64_t postcopy_requests;
/* Flag set once the migration has been asked to enter postcopy */
bool start_postcopy;
@@ -269,6 +267,7 @@ uint64_t ram_bytes_transferred(void);
uint64_t ram_bytes_total(void);
uint64_t ram_dirty_sync_count(void);
uint64_t ram_dirty_pages_rate(void);
+uint64_t ram_postcopy_requests(void);
void free_xbzrle_decoded_buf(void);
void acct_update_position(QEMUFile *f, size_t size, bool zero);
diff --git a/migration/migration.c b/migration/migration.c
index 0a70d55..0df6111 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -646,7 +646,7 @@ static void populate_ram_info(MigrationInfo *info,
MigrationState *s)
(1ul << qemu_target_page_bits());
info->ram->mbps = s->mbps;
info->ram->dirty_sync_count = ram_dirty_sync_count();
- info->ram->postcopy_requests = s->postcopy_requests;
+ info->ram->postcopy_requests = ram_postcopy_requests();
if (s->state != MIGRATION_STATUS_COMPLETED) {
info->ram->remaining = ram_bytes_remaining();
@@ -1109,7 +1109,6 @@ MigrationState *migrate_init(const MigrationParams
*params)
s->setup_time = 0;
s->start_postcopy = false;
s->postcopy_after_devices = false;
- s->postcopy_requests = 0;
s->migration_thread_running = false;
error_free(s->error);
s->error = NULL;
diff --git a/migration/ram.c b/migration/ram.c
index b85f58f..91f9fb5 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -195,6 +195,8 @@ struct RAMState {
uint64_t bytes_transferred;
/* number of dirtied pages in the last second */
uint64_t dirty_pages_rate;
+ /* Count of requests incoming from destination */
+ uint64_t postcopy_requests;
/* protects modification of the bitmap */
QemuMutex bitmap_mutex;
/* Ram Bitmap protected by RCU */
@@ -261,6 +263,11 @@ uint64_t ram_dirty_pages_rate(void)
return ram_state.dirty_pages_rate;
}
+uint64_t ram_postcopy_requests(void)
+{
+ return ram_state.postcopy_requests;
+}
+
/* used by the search for pages to send */
struct PageSearchStatus {
/* Current block being searched */
@@ -1197,7 +1204,7 @@ int ram_save_queue_pages(MigrationState *ms, const char
*rbname,
{
RAMBlock *ramblock;
- ms->postcopy_requests++;
+ ram_state.postcopy_requests++;
rcu_read_lock();
if (!rbname) {
/* Reuse last RAMBlock */
--
2.9.3
- Re: [Qemu-devel] [PATCH 25/31] ram: Use the RAMState bytes_transferred parameter, (continued)
- [Qemu-devel] [PATCH 26/31] ram: Remove ram_save_remaining, Juan Quintela, 2017/03/15
- [Qemu-devel] [PATCH 27/31] ram: Move last_req_rb to RAMState, Juan Quintela, 2017/03/15
- [Qemu-devel] [PATCH 24/31] ram: Move bytes_transferred into RAMState, Juan Quintela, 2017/03/15
- [Qemu-devel] [PATCH 29/31] ram: Remove dirty_bytes_rate, Juan Quintela, 2017/03/15
- [Qemu-devel] [PATCH 28/31] ram: Create ram_dirty_sync_count(), Juan Quintela, 2017/03/15
- [Qemu-devel] [PATCH 30/31] ram: move dirty_pages_rate to RAMState, Juan Quintela, 2017/03/15
- [Qemu-devel] [PATCH 31/31] ram: move postcopy_requests into RAMState,
Juan Quintela <=
- Re: [Qemu-devel] [PATCH 00/31] Creating RAMState for migration, no-reply, 2017/03/15