All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 16/19] migration: Export ram.c functions in its own file
Date: Wed, 19 Apr 2017 19:46:47 +0100	[thread overview]
Message-ID: <20170419184646.GF7758@work-vm> (raw)
In-Reply-To: <20170417200041.2451-17-quintela@redhat.com>

* Juan Quintela (quintela@redhat.com) wrote:
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
>  include/migration/migration.h | 36 -----------------------------
>  include/migration/ram.h       | 54 +++++++++++++++++++++++++++++++++++++++++++
>  migration/migration.c         |  1 +
>  migration/postcopy-ram.c      |  1 +
>  migration/ram.c               |  1 +
>  migration/rdma.c              |  1 +
>  migration/savevm.c            |  1 +
>  7 files changed, 59 insertions(+), 36 deletions(-)
>  create mode 100644 include/migration/ram.h
> 
> diff --git a/include/migration/migration.h b/include/migration/migration.h
> index 1451067..3e5d106 100644
> --- a/include/migration/migration.h
> +++ b/include/migration/migration.h
> @@ -192,36 +192,6 @@ bool migration_is_blocked(Error **errp);
>  bool migration_in_postcopy(void);
>  MigrationState *migrate_get_current(void);
>  
> -void migrate_compress_threads_create(void);
> -void migrate_compress_threads_join(void);
> -void migrate_decompress_threads_create(void);
> -void migrate_decompress_threads_join(void);
> -uint64_t ram_bytes_remaining(void);
> -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);
> -
> -uint64_t dup_mig_pages_transferred(void);
> -uint64_t norm_mig_pages_transferred(void);
> -uint64_t xbzrle_mig_bytes_transferred(void);
> -uint64_t xbzrle_mig_pages_transferred(void);
> -uint64_t xbzrle_mig_pages_overflow(void);
> -uint64_t xbzrle_mig_pages_cache_miss(void);
> -double xbzrle_mig_cache_miss_rate(void);
> -
> -void ram_handle_compressed(void *host, uint8_t ch, uint64_t size);
> -void ram_debug_dump_bitmap(unsigned long *todump, bool expected);
> -/* For outgoing discard bitmap */
> -int ram_postcopy_send_discard_bitmap(MigrationState *ms);
> -/* For incoming postcopy discard */
> -int ram_discard_range(const char *block_name, uint64_t start, size_t length);
> -int ram_postcopy_incoming_init(MigrationIncomingState *mis);
> -void ram_postcopy_migrated_memory_release(MigrationState *ms);
>  
>  bool migrate_release_ram(void);
>  bool migrate_postcopy_ram(void);
> @@ -233,8 +203,6 @@ int migrate_use_xbzrle(void);
>  int64_t migrate_xbzrle_cache_size(void);
>  bool migrate_colo_enabled(void);
>  
> -int64_t xbzrle_cache_resize(int64_t new_size);
> -
>  bool migrate_use_block_enabled(void);
>  bool migrate_use_block_shared(void);
>  
> @@ -273,10 +241,6 @@ size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset,
>                               ram_addr_t offset, size_t size,
>                               uint64_t *bytes_sent);
>  
> -void migration_page_queue_free(void);
> -int ram_save_queue_pages(const char *rbname, ram_addr_t start, ram_addr_t len);
> -uint64_t ram_pagesize_summary(void);
> -
>  PostcopyState postcopy_state_get(void);
>  /* Set the state and return the old state */
>  PostcopyState postcopy_state_set(PostcopyState new_state);
> diff --git a/include/migration/ram.h b/include/migration/ram.h
> new file mode 100644
> index 0000000..c3653b3
> --- /dev/null
> +++ b/include/migration/ram.h
> @@ -0,0 +1,54 @@
> +/*
> + * QEMU migration ram
> + *
> + * Copyright IBM, Corp. 2008
> + *
> + * Authors:
> + *  Anthony Liguori   <aliguori@us.ibm.com>

Shouldn't that be updated a bit?

Other than that,

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> + * This work is licensed under the terms of the GNU GPL, version 2.  See
> + * the COPYING file in the top-level directory.
> + *
> + */
> +
> +#ifndef QEMU_MIGRATION_RAM_H
> +#define QEMU_MIGRATION_RAM_H
> +
> +#include "qemu-common.h"
> +#include "exec/cpu-common.h"
> +
> +int64_t xbzrle_cache_resize(int64_t new_size);
> +uint64_t dup_mig_pages_transferred(void);
> +uint64_t norm_mig_pages_transferred(void);
> +uint64_t xbzrle_mig_bytes_transferred(void);
> +uint64_t xbzrle_mig_pages_transferred(void);
> +uint64_t xbzrle_mig_pages_cache_miss(void);
> +double xbzrle_mig_cache_miss_rate(void);
> +uint64_t xbzrle_mig_pages_overflow(void);

Most of hese only exist to fill in MigrationInfo's xbzrle_cache states; see
get_xbzrle_cache_stats - perhaps it should be moved into ram.c and then just
that exposed?

Dave

> +uint64_t ram_bytes_transferred(void);
> +uint64_t ram_bytes_remaining(void);
> +uint64_t ram_dirty_sync_count(void);
> +uint64_t ram_dirty_pages_rate(void);
> +uint64_t ram_postcopy_requests(void);
> +uint64_t ram_bytes_total(void);
> +
> +void migrate_compress_threads_create(void);
> +void migrate_compress_threads_join(void);
> +void migrate_decompress_threads_create(void);
> +void migrate_decompress_threads_join(void);
> +
> +uint64_t ram_pagesize_summary(void);
> +void migration_page_queue_free(void);
> +int ram_save_queue_pages(const char *rbname, ram_addr_t start, ram_addr_t len);
> +void acct_update_position(QEMUFile *f, size_t size, bool zero);
> +void free_xbzrle_decoded_buf(void);
> +void ram_debug_dump_bitmap(unsigned long *todump, bool expected);
> +void ram_postcopy_migrated_memory_release(MigrationState *ms);
> +/* For outgoing discard bitmap */
> +int ram_postcopy_send_discard_bitmap(MigrationState *ms);
> +/* For incoming postcopy discard */
> +int ram_discard_range(const char *block_name, uint64_t start, size_t length);
> +int ram_postcopy_incoming_init(MigrationIncomingState *mis);
> +
> +void ram_handle_compressed(void *host, uint8_t ch, uint64_t size);
> +#endif
> diff --git a/migration/migration.c b/migration/migration.c
> index 6e32be0..ba01ea2 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -23,6 +23,7 @@
>  #include "migration/exec.h"
>  #include "migration/fd.h"
>  #include "migration/socket.h"
> +#include "migration/ram.h"
>  #include "migration/migration.h"
>  #include "migration/qemu-file-channel.h"
>  #include "migration/vmstate.h"
> diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
> index 5aea2ff..aec40c3 100644
> --- a/migration/postcopy-ram.c
> +++ b/migration/postcopy-ram.c
> @@ -19,6 +19,7 @@
>  #include "qemu/osdep.h"
>  #include "migration/migration.h"
>  #include "migration/qemu-file.h"
> +#include "migration/ram.h"
>  #include "migration/postcopy-ram.h"
>  #include "sysemu/sysemu.h"
>  #include "sysemu/balloon.h"
> diff --git a/migration/ram.c b/migration/ram.c
> index 49e518f..eb1ec1b 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -36,6 +36,7 @@
>  #include "qemu/main-loop.h"
>  #include "migration/xbzrle.h"
>  #include "migration/init.h"
> +#include "migration/ram.h"
>  #include "migration/migration.h"
>  #include "migration/qemu-file.h"
>  #include "migration/vmstate.h"
> diff --git a/migration/rdma.c b/migration/rdma.c
> index d9a2d64..3b06fe6 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -18,6 +18,7 @@
>  #include "qemu-common.h"
>  #include "qemu/cutils.h"
>  #include "migration/migration.h"
> +#include "migration/ram.h"
>  #include "migration/qemu-file-channel.h"
>  #include "qemu/error-report.h"
>  #include "qemu/main-loop.h"
> diff --git a/migration/savevm.c b/migration/savevm.c
> index 1e6cf79..f628d01 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -36,6 +36,7 @@
>  #include "audio/audio.h"
>  #include "migration/machine.h"
>  #include "migration/migration.h"
> +#include "migration/ram.h"
>  #include "migration/qemu-file-channel.h"
>  #include "migration/postcopy-ram.h"
>  #include "qapi/qmp/qerror.h"
> -- 
> 2.9.3
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2017-04-19 18:46 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-17 20:00 [Qemu-devel] [PATCH 00/19] Migration cleanup Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 01/19] migration: to_dst_file at that point is NULL Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 02/19] migration: They are called vmstate_foo, move them to vmstate.c Juan Quintela
2017-04-18 18:40   ` Dr. David Alan Gilbert
2017-04-19  7:02     ` Juan Quintela
2017-04-25  9:00     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 03/19] migration: Split migration/channel.c for channel operations Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 04/19] migration: Remove MigrationState from migration_channel_incomming() Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 05/19] migration: Export exec.c functions in its own file Juan Quintela
2017-04-18  9:45   ` Paolo Bonzini
2017-04-18 10:13     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 06/19] migration: Export fd.c " Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 07/19] migration: Export socket.c " Juan Quintela
2017-04-19 15:37   ` Dr. David Alan Gilbert
2017-04-25  9:01     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 08/19] migration: Export tls.c " Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 09/19] migration: Create block capabilities for shared and enable Juan Quintela
2017-04-17 20:26   ` Eric Blake
2017-04-18  6:35     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 10/19] migration: Remove use of old MigrationParams Juan Quintela
2017-04-18 19:07   ` Dr. David Alan Gilbert
2017-04-19  7:17     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 11/19] migration: Remove " Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 12/19] migration: Remove unneeded includes Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 13/19] migration: Remove qemu-file.h from vmstate.h Juan Quintela
2017-04-19 15:44   ` Dr. David Alan Gilbert
2017-04-17 20:00 ` [Qemu-devel] [PATCH 14/19] migration: Remove vmstate.h from migration.h Juan Quintela
2017-04-19 17:16   ` Dr. David Alan Gilbert
2017-04-17 20:00 ` [Qemu-devel] [PATCH 15/19] migration: Export qemu-file-channel.c functions in its own file Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 16/19] migration: Export ram.c " Juan Quintela
2017-04-19 18:46   ` Dr. David Alan Gilbert [this message]
2017-04-25  9:39     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 17/19] migration: Export rdma.c " Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 18/19] monitor: move hmp_savevm() to monitor.c Juan Quintela
2017-04-18  9:44   ` Paolo Bonzini
2017-04-18 10:11     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 19/19] monitor: remove monitor parameter from save_vmstate Juan Quintela
2017-04-18  9:44   ` Paolo Bonzini
2017-04-18  9:46     ` Paolo Bonzini
2017-04-18 10:12       ` Juan Quintela
2017-04-19  7:19       ` Juan Quintela
2017-04-18 18:02   ` Dr. David Alan Gilbert
2017-04-18 20:06     ` Juan Quintela

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170419184646.GF7758@work-vm \
    --to=dgilbert@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.