All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amit Shah <amit.shah@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Juan Quintela <quintela@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	"Daniel P. Berrange" <berrange@redhat.com>,
	qemu list <qemu-devel@nongnu.org>,
	Amit Shah <amit.shah@redhat.com>
Subject: [Qemu-devel] [PULL 5/8] Postcopy: Add stats on page requests
Date: Fri, 10 Jun 2016 17:18:17 +0530	[thread overview]
Message-ID: <843c178c73c01035caa4937d6b49b146658b3d33.1465559221.git.amit.shah@redhat.com> (raw)
In-Reply-To: <cover.1465559221.git.amit.shah@redhat.com>
In-Reply-To: <cover.1465559221.git.amit.shah@redhat.com>

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

On the source, add a count of page requests received from the
destination.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Denis V. Lunev <den@openvz.org>
Message-Id: <1465555776-23286-4-git-send-email-dgilbert@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 hmp.c                         | 4 ++++
 include/migration/migration.h | 2 ++
 migration/migration.c         | 2 ++
 migration/ram.c               | 1 +
 qapi-schema.json              | 6 +++++-
 5 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/hmp.c b/hmp.c
index a4b1d3d..4b8e987 100644
--- a/hmp.c
+++ b/hmp.c
@@ -217,6 +217,10 @@ void hmp_info_migrate(Monitor *mon, const QDict *qdict)
             monitor_printf(mon, "dirty pages rate: %" PRIu64 " pages\n",
                            info->ram->dirty_pages_rate);
         }
+        if (info->ram->postcopy_requests) {
+            monitor_printf(mon, "postcopy request count: %" PRIu64 "\n",
+                           info->ram->postcopy_requests);
+        }
     }
 
     if (info->has_disk) {
diff --git a/include/migration/migration.h b/include/migration/migration.h
index 8aa9860..3c96623 100644
--- a/include/migration/migration.h
+++ b/include/migration/migration.h
@@ -160,6 +160,8 @@ struct MigrationState
     int64_t xbzrle_cache_size;
     int64_t setup_time;
     int64_t dirty_sync_count;
+    /* Count of requests incoming from destination */
+    int64_t postcopy_requests;
 
     /* Flag set once the migration has been asked to enter postcopy */
     bool start_postcopy;
diff --git a/migration/migration.c b/migration/migration.c
index 5251cf5..213580d 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -614,6 +614,7 @@ static void populate_ram_info(MigrationInfo *info, MigrationState *s)
     info->ram->normal_bytes = norm_mig_bytes_transferred();
     info->ram->mbps = s->mbps;
     info->ram->dirty_sync_count = s->dirty_sync_count;
+    info->ram->postcopy_requests = s->postcopy_requests;
 
     if (s->state != MIGRATION_STATUS_COMPLETED) {
         info->ram->remaining = ram_bytes_remaining();
@@ -991,6 +992,7 @@ MigrationState *migrate_init(const MigrationParams *params)
     s->dirty_sync_count = 0;
     s->start_postcopy = false;
     s->postcopy_after_devices = false;
+    s->postcopy_requests = 0;
     s->migration_thread_running = false;
     s->last_req_rb = NULL;
     error_free(s->error);
diff --git a/migration/ram.c b/migration/ram.c
index 5f929d6..42fb8ac 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1169,6 +1169,7 @@ int ram_save_queue_pages(MigrationState *ms, const char *rbname,
 {
     RAMBlock *ramblock;
 
+    ms->postcopy_requests++;
     rcu_read_lock();
     if (!rbname) {
         /* Reuse last RAMBlock */
diff --git a/qapi-schema.json b/qapi-schema.json
index 5c7b87c..ab2c577 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -382,13 +382,17 @@
 #
 # @dirty-sync-count: number of times that dirty ram was synchronized (since 2.1)
 #
+# @postcopy-requests: The number of page requests received from the destination
+#        (since 2.7)
+#
 # Since: 0.14.0
 ##
 { 'struct': 'MigrationStats',
   'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' ,
            'duplicate': 'int', 'skipped': 'int', 'normal': 'int',
            'normal-bytes': 'int', 'dirty-pages-rate' : 'int',
-           'mbps' : 'number', 'dirty-sync-count' : 'int' } }
+           'mbps' : 'number', 'dirty-sync-count' : 'int',
+           'postcopy-requests' : 'int' } }
 
 ##
 # @XBZRLECacheStats
-- 
2.7.4

  parent reply	other threads:[~2016-06-10 11:48 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-10 11:48 [Qemu-devel] [PULL 0/8] migration: fixes Amit Shah
2016-06-10 11:48 ` [Qemu-devel] [PULL 1/8] migration: fix typos in qapi-schema from latest migration additions Amit Shah
2016-06-10 11:48 ` [Qemu-devel] [PULL 2/8] migration: rename functions to starting migrations Amit Shah
2016-06-10 11:48 ` [Qemu-devel] [PULL 3/8] Postcopy: Avoid 0 length discards Amit Shah
2016-06-10 11:48 ` [Qemu-devel] [PULL 4/8] Migration: Split out ram part of qmp_query_migrate Amit Shah
2016-06-10 11:48 ` Amit Shah [this message]
2016-06-10 11:48 ` [Qemu-devel] [PULL 6/8] test: Postcopy Amit Shah
2016-06-10 11:48 ` [Qemu-devel] [PULL 7/8] tests: fix libqtest socket timeouts Amit Shah
2016-06-10 11:48 ` [Qemu-devel] [PULL 8/8] Postcopy: Check for support when setting the capability Amit Shah
2016-06-10 13:25 ` [Qemu-devel] [PULL 0/8] migration: fixes Peter Maydell
2016-06-10 13:51   ` Peter Maydell
2016-06-10 19:09     ` Dr. David Alan Gilbert
2016-06-10 13:57   ` Dr. David Alan Gilbert

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=843c178c73c01035caa4937d6b49b146658b3d33.1465559221.git.amit.shah@redhat.com \
    --to=amit.shah@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=peter.maydell@linaro.org \
    --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.