[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/30] migration/postcopy: reduce memset when it is zero page and
From: |
Juan Quintela |
Subject: |
[PULL 15/30] migration/postcopy: reduce memset when it is zero page and matches_target_page_size |
Date: |
Tue, 14 Jan 2020 12:39:11 +0100 |
From: Wei Yang <address@hidden>
In this case, page_buffer content would not be used.
Skip this to save some time.
Signed-off-by: Wei Yang <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>
---
migration/ram.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/migration/ram.c b/migration/ram.c
index 5cd066467c..bdb0316892 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -4126,7 +4126,13 @@ static int ram_load_postcopy(QEMUFile *f)
switch (flags & ~RAM_SAVE_FLAG_CONTINUE) {
case RAM_SAVE_FLAG_ZERO:
ch = qemu_get_byte(f);
- memset(page_buffer, ch, TARGET_PAGE_SIZE);
+ /*
+ * Can skip to set page_buffer when
+ * this is a zero page and (block->page_size == TARGET_PAGE_SIZE).
+ */
+ if (ch || !matches_target_page_size) {
+ memset(page_buffer, ch, TARGET_PAGE_SIZE);
+ }
if (ch) {
all_zero = false;
}
--
2.24.1
- [PULL 05/30] migration-test: ppc64: fix FORTH test program, (continued)
- [PULL 05/30] migration-test: ppc64: fix FORTH test program, Juan Quintela, 2020/01/14
- [PULL 06/30] runstate: ignore finishmigrate -> prelaunch transition, Juan Quintela, 2020/01/14
- [PULL 07/30] ram.c: remove unneeded labels, Juan Quintela, 2020/01/14
- [PULL 08/30] migration: Rate limit inside host pages, Juan Quintela, 2020/01/14
- [PULL 09/30] migration: Fix incorrect integer->float conversion caught by clang, Juan Quintela, 2020/01/14
- [PULL 10/30] migration: Fix the re-run check of the migrate-incoming command, Juan Quintela, 2020/01/14
- [PULL 11/30] misc: use QEMU_IS_ALIGNED, Juan Quintela, 2020/01/14
- [PULL 12/30] migration: add savevm_state_handler_remove(), Juan Quintela, 2020/01/14
- [PULL 13/30] migration: savevm_state_handler_insert: constant-time element insertion, Juan Quintela, 2020/01/14
- [PULL 14/30] migration/ram: Yield periodically to the main loop, Juan Quintela, 2020/01/14
- [PULL 15/30] migration/postcopy: reduce memset when it is zero page and matches_target_page_size,
Juan Quintela <=
- [PULL 16/30] migration/postcopy: wait for decompress thread in precopy, Juan Quintela, 2020/01/14
- [PULL 17/30] migration/postcopy: count target page number to decide the place_needed, Juan Quintela, 2020/01/14
- [PULL 18/30] migration/postcopy: set all_zero to true on the first target page, Juan Quintela, 2020/01/14
- [PULL 19/30] migration/postcopy: enable random order target page arrival, Juan Quintela, 2020/01/14
- [PULL 20/30] migration/postcopy: enable compress during postcopy, Juan Quintela, 2020/01/14
- [PULL 21/30] migration/multifd: clean pages after filling packet, Juan Quintela, 2020/01/14
- [PULL 22/30] migration/multifd: not use multifd during postcopy, Juan Quintela, 2020/01/14
- [PULL 23/30] migration/multifd: fix nullptr access in terminating multifd threads, Juan Quintela, 2020/01/14
- [PULL 24/30] migration/multifd: fix destroyed mutex access in terminating multifd threads, Juan Quintela, 2020/01/14
- [PULL 25/30] Bug #1829242 correction., Juan Quintela, 2020/01/14