[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v9 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATAB
From: |
Li Qiang |
Subject: |
Re: [PATCH v9 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h |
Date: |
Wed, 16 Sep 2020 00:19:55 +0800 |
Chuan Zheng <zhengchuan@huawei.com> 于2020年9月15日周二 上午10:34写道:
>
> 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>
> ---
> 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 ab372ba..7366bf3 100644
> --- a/migration/dirtyrate.c
> +++ b/migration/dirtyrate.c
> @@ -20,6 +20,7 @@
> #include "qemu/rcu_queue.h"
> #include "qapi/qapi-commands-migration.h"
> #include "migration.h"
> +#include "ram.h"
> #include "dirtyrate.h"
>
> static int CalculatingState = DIRTY_RATE_STATUS_UNSTARTED;
> 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
>
- Re: [PATCH v9 07/12] migration/dirtyrate: Compare page hash results for recorded sampled page, (continued)
- [PATCH v9 06/12] migration/dirtyrate: Record hash results for each sampled page, Chuan Zheng, 2020/09/14
- [PATCH v9 02/12] migration/dirtyrate: add DirtyRateStatus to denote calculation status, Chuan Zheng, 2020/09/14
- [PATCH v9 04/12] migration/dirtyrate: Add dirtyrate statistics series functions, Chuan Zheng, 2020/09/14
- [PATCH v9 08/12] migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE, Chuan Zheng, 2020/09/14
- [PATCH v9 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h, Chuan Zheng, 2020/09/14
- Re: [PATCH v9 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h,
Li Qiang <=
- [PATCH v9 10/12] migration/dirtyrate: Implement calculate_dirtyrate() function, Chuan Zheng, 2020/09/14
- [PATCH v9 11/12] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function, Chuan Zheng, 2020/09/14
- [PATCH v9 12/12] migration/dirtyrate: Add trace_calls to make it easier to debug, Chuan Zheng, 2020/09/14