qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] migration: fix rate limiting
@ 2012-11-19 16:23 Paolo Bonzini
  2012-11-20 11:03 ` Juan Quintela
  0 siblings, 1 reply; 4+ messages in thread
From: Paolo Bonzini @ 2012-11-19 16:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: owasserm, quintela

buffered_rate_limit is called to prevent the RAM migration callback
from putting too much data in the buffer.  So it has to check against
the amount of data currently in the buffer, not against the amount
of data that has been transferred so far.

s->bytes_xfer is used to communicate between successive calls of
buffered_put_buffer.  Buffered_rate_tick resets it every now and
then to prevent moving too much buffered data to the socket at
once.  However, its value does not matter for the producer of the
data.

Here is the result for migrating an idle guest with 3GB of memory
and ~360MB of non-zero memory:

  migrate_set_speed       Before                After
  ------------------------------------------------------------
  default (32MB/sec)      ~3 sec                ~13 sec
  infinite (10GB/sec)     ~3 sec                ~3 sec

Note that before this patch, QEMU is transferring of 100 MB/sec
despite the rate limiting.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 buffered_file.c | 2 +-
 1 file modificato, 1 inserzione(+). 1 rimozione(-)

diff --git a/buffered_file.c b/buffered_file.c
index bd0f61d..46cd591 100644
--- a/buffered_file.c
+++ b/buffered_file.c
@@ -193,7 +193,7 @@ static int buffered_rate_limit(void *opaque)
     if (s->freeze_output)
         return 1;
 
-    if (s->bytes_xfer > s->xfer_limit)
+    if (s->buffer_size > s->xfer_limit)
         return 1;
 
     return 0;
-- 
1.7.12.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-11-20 15:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-19 16:23 [Qemu-devel] [PATCH] migration: fix rate limiting Paolo Bonzini
2012-11-20 11:03 ` Juan Quintela
2012-11-20 14:44   ` Paolo Bonzini
2012-11-20 14:59     ` Juan Quintela

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).