mirror of
https://github.com/qemu/qemu.git
synced 2024-11-28 14:24:02 +08:00
migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h
RAMBLOCK_FOREACH_MIGRATABLE is need in dirtyrate measure, move the existing definition up into migration/ram.h Signed-off-by: Chuan Zheng <zhengchuan@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: David Edmondson <david.edmondson@oracle.com> Reviewed-by: Li Qiang <liq3ea@gmail.com> Message-Id: <1600237327-33618-6-git-send-email-zhengchuan@huawei.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
c9a58d719b
commit
3ded54b1bd
@ -20,6 +20,7 @@
|
|||||||
#include "qemu/rcu_queue.h"
|
#include "qemu/rcu_queue.h"
|
||||||
#include "qapi/qapi-commands-migration.h"
|
#include "qapi/qapi-commands-migration.h"
|
||||||
#include "migration.h"
|
#include "migration.h"
|
||||||
|
#include "ram.h"
|
||||||
#include "dirtyrate.h"
|
#include "dirtyrate.h"
|
||||||
|
|
||||||
static int CalculatingState = DIRTY_RATE_STATUS_UNSTARTED;
|
static int CalculatingState = DIRTY_RATE_STATUS_UNSTARTED;
|
||||||
|
@ -158,21 +158,12 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool ramblock_is_ignored(RAMBlock *block)
|
bool ramblock_is_ignored(RAMBlock *block)
|
||||||
{
|
{
|
||||||
return !qemu_ram_is_migratable(block) ||
|
return !qemu_ram_is_migratable(block) ||
|
||||||
(migrate_ignore_shared() && qemu_ram_is_shared(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
|
#undef RAMBLOCK_FOREACH
|
||||||
|
|
||||||
int foreach_not_ignored_block(RAMBlockIterFunc func, void *opaque)
|
int foreach_not_ignored_block(RAMBlockIterFunc func, void *opaque)
|
||||||
|
@ -37,6 +37,16 @@ extern MigrationStats ram_counters;
|
|||||||
extern XBZRLECacheStats xbzrle_counters;
|
extern XBZRLECacheStats xbzrle_counters;
|
||||||
extern CompressionStats compression_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);
|
int xbzrle_cache_resize(int64_t new_size, Error **errp);
|
||||||
uint64_t ram_bytes_remaining(void);
|
uint64_t ram_bytes_remaining(void);
|
||||||
uint64_t ram_bytes_total(void);
|
uint64_t ram_bytes_total(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user