[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 04/10] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE i
From: |
Chuan Zheng |
Subject: |
[PATCH v2 04/10] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h |
Date: |
Sat, 15 Aug 2020 10:22:54 +0800 |
From: Zheng Chuan <zhengchuan@huawei.com>
RAMBLOCK_FOREACH_MIGRATABLE is need in dirtyrate measure,
move the existing definition up into migration/ram.h
Signed-off-by: Zheng Chuan <zhengchuan@huawei.com>
---
migration/dirtyrate.c | 1 +
migration/ram.c | 11 +----------
migration/ram.h | 10 ++++++++++
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c
index 8708090..c4304ef 100644
--- a/migration/dirtyrate.c
+++ b/migration/dirtyrate.c
@@ -21,6 +21,7 @@
#include "qemu/rcu_queue.h"
#include "qapi/qapi-commands-migration.h"
#include "migration.h"
+#include "ram.h"
#include "dirtyrate.h"
CalculatingDirtyRateState CalculatingState = CAL_DIRTY_RATE_INIT;
diff --git a/migration/ram.c b/migration/ram.c
index 76d4fee..37ef0da 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -158,21 +158,12 @@ out:
return ret;
}
-static bool ramblock_is_ignored(RAMBlock *block)
+bool ramblock_is_ignored(RAMBlock *block)
{
return !qemu_ram_is_migratable(block) ||
(migrate_ignore_shared() && qemu_ram_is_shared(block));
}
-/* Should be holding either ram_list.mutex, or the RCU lock. */
-#define RAMBLOCK_FOREACH_NOT_IGNORED(block) \
- INTERNAL_RAMBLOCK_FOREACH(block) \
- if (ramblock_is_ignored(block)) {} else
-
-#define RAMBLOCK_FOREACH_MIGRATABLE(block) \
- INTERNAL_RAMBLOCK_FOREACH(block) \
- if (!qemu_ram_is_migratable(block)) {} else
-
#undef RAMBLOCK_FOREACH
int foreach_not_ignored_block(RAMBlockIterFunc func, void *opaque)
diff --git a/migration/ram.h b/migration/ram.h
index 2eeaacf..011e854 100644
--- a/migration/ram.h
+++ b/migration/ram.h
@@ -37,6 +37,16 @@ extern MigrationStats ram_counters;
extern XBZRLECacheStats xbzrle_counters;
extern CompressionStats compression_counters;
+bool ramblock_is_ignored(RAMBlock *block);
+/* Should be holding either ram_list.mutex, or the RCU lock. */
+#define RAMBLOCK_FOREACH_NOT_IGNORED(block) \
+ INTERNAL_RAMBLOCK_FOREACH(block) \
+ if (ramblock_is_ignored(block)) {} else
+
+#define RAMBLOCK_FOREACH_MIGRATABLE(block) \
+ INTERNAL_RAMBLOCK_FOREACH(block) \
+ if (!qemu_ram_is_migratable(block)) {} else
+
int xbzrle_cache_resize(int64_t new_size, Error **errp);
uint64_t ram_bytes_remaining(void);
uint64_t ram_bytes_total(void);
--
1.8.3.1
- [PATCH v2 03/10] migration/dirtyrate: Add dirtyrate statistics series functions, (continued)
- [PATCH v2 03/10] migration/dirtyrate: Add dirtyrate statistics series functions, Chuan Zheng, 2020/08/14
- [PATCH v2 01/10] migration/dirtyrate: Add get_dirtyrate_thread() function, Chuan Zheng, 2020/08/14
- [PATCH v2 04/10] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h, Chuan Zheng, 2020/08/14
- [PATCH v2 00/10] *** A Method for evaluating dirty page rate ***, Chuan Zheng, 2020/08/15
- [PATCH v2 02/10] migration/dirtyrate: Add RamlockDirtyInfo to store sampled page info, Chuan Zheng, 2020/08/15
- [PATCH v2 10/10] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function, Chuan Zheng, 2020/08/15
- [PATCH v2 09/10] migration/dirtyrate: Implement calculate_dirtyrate() function, Chuan Zheng, 2020/08/15
- [PATCH v2 08/10] migration/dirtyrate: Implement get_sample_page_period() and block_sample_page_period(), Chuan Zheng, 2020/08/15
- [PATCH v2 05/10] migration/dirtyrate: Record hash results for each sampled page, Chuan Zheng, 2020/08/15
- [PATCH v2 03/10] migration/dirtyrate: Add dirtyrate statistics series functions, Chuan Zheng, 2020/08/15
- [PATCH v2 04/10] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h,
Chuan Zheng <=
- [PATCH v2 06/10] migration/dirtyrate: Compare page hash results for recorded sampled page, Chuan Zheng, 2020/08/15
- [PATCH v2 07/10] migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE, Chuan Zheng, 2020/08/15
- [PATCH v2 01/10] migration/dirtyrate: Add get_dirtyrate_thread() function, Chuan Zheng, 2020/08/15
- Re: [PATCH v2 00/10] *** A Method for evaluating dirty page rate ***, no-reply, 2020/08/15
- Re: [PATCH v2 00/10] *** A Method for evaluating dirty page rate ***, no-reply, 2020/08/15
- Re: [PATCH v2 00/10] *** A Method for evaluating dirty page rate ***, no-reply, 2020/08/15