[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v12 21/21] migration: Stop sending whole pages throu
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH v12 21/21] migration: Stop sending whole pages through main channel |
Date: |
Wed, 25 Apr 2018 13:27:23 +0200 |
We have to flush() the QEMUFile because now we sent really few data
through that channel.
Signed-off-by: Juan Quintela <address@hidden>
---
migration/ram.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c
index 23203756b7..f5cff2eb59 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1634,20 +1634,12 @@ static int ram_multifd_page(RAMState *rs,
PageSearchStatus *pss,
bool last_stage)
{
int pages;
- uint8_t *p;
RAMBlock *block = pss->block;
ram_addr_t offset = pss->page << TARGET_PAGE_BITS;
- p = block->host + offset;
-
pages = save_zero_page(rs, block, offset);
if (pages == -1) {
- ram_counters.transferred +=
- save_page_header(rs, rs->f, block,
- offset | RAM_SAVE_FLAG_PAGE);
multifd_queue_page(block, offset);
- qemu_put_buffer(rs->f, p, TARGET_PAGE_SIZE);
- ram_counters.transferred += TARGET_PAGE_SIZE;
pages = 1;
ram_counters.normal++;
}
@@ -2869,6 +2861,7 @@ static int ram_save_setup(QEMUFile *f, void *opaque)
multifd_send_sync_main();
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
+ qemu_fflush(f);
return 0;
}
@@ -2946,6 +2939,7 @@ static int ram_save_iterate(QEMUFile *f, void *opaque)
multifd_send_sync_main();
out:
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
+ qemu_fflush(f);
ram_counters.transferred += 8;
ret = qemu_file_get_error(f);
@@ -2999,6 +2993,7 @@ static int ram_save_complete(QEMUFile *f, void *opaque)
multifd_send_sync_main();
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
+ qemu_fflush(f);
return 0;
}
--
2.17.0
- [Qemu-devel] [PATCH v12 13/21] migration: Calculate transferred ram correctly, (continued)
- [Qemu-devel] [PATCH v12 13/21] migration: Calculate transferred ram correctly, Juan Quintela, 2018/04/25
- [Qemu-devel] [PATCH v12 14/21] migration: Multifd channels always wait on the sem, Juan Quintela, 2018/04/25
- [Qemu-devel] [PATCH v12 15/21] migration: Add block where to send/receive packets, Juan Quintela, 2018/04/25
- [Qemu-devel] [PATCH v12 18/21] migration: Start sending messages, Juan Quintela, 2018/04/25
- [Qemu-devel] [PATCH v12 17/21] migration: Create ram_multifd_page, Juan Quintela, 2018/04/25
- [Qemu-devel] [PATCH v12 16/21] migration: Synchronize multifd threads with main thread, Juan Quintela, 2018/04/25
- [Qemu-devel] [PATCH v12 20/21] migration: Remove not needed semaphore and quit, Juan Quintela, 2018/04/25
- [Qemu-devel] [PATCH v12 19/21] migration: Wait for blocking IO, Juan Quintela, 2018/04/25
- [Qemu-devel] [PATCH v12 21/21] migration: Stop sending whole pages through main channel,
Juan Quintela <=
- Re: [Qemu-devel] [PATCH v12 00/21] Multifd, Juan Quintela, 2018/04/25
- Re: [Qemu-devel] [PATCH v12 00/21] Multifd, Peter Xu, 2018/04/26