Commit 211ea740 authored by Peter Lieven's avatar Peter Lieven Committed by Juan Quintela
Browse files

migration: do not overwrite zero pages



on incoming migration do not memset pages to zero if they already read as zero.
this will allocate a new zero page and consume memory unnecessarily. even
if we madvise a MADV_DONTNEED later this will only deallocate the memory
asynchronously.

Signed-off-by: default avatarPeter Lieven <pl@kamp.de>
Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
parent 9ef051e5
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -835,6 +835,7 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
            }

            ch = qemu_get_byte(f);
            if (ch != 0 || !is_zero_page(host)) {
                memset(host, ch, TARGET_PAGE_SIZE);
#ifndef _WIN32
                if (ch == 0 &&
@@ -843,6 +844,7 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
                    qemu_madvise(host, TARGET_PAGE_SIZE, QEMU_MADV_DONTNEED);
                }
#endif
            }
        } else if (flags & RAM_SAVE_FLAG_PAGE) {
            void *host;