File 0147-Avoid-sending-whole-huge-pages-duri.patch of Package qemu-testsuite.19805
From: Lin Ma <lma@suse.com>
Date: Mon, 12 Aug 2019 17:03:20 +0800
Subject: Avoid sending whole huge pages during precopy migration
Include-If: %if 0%{?suse_version} == 1315
To postcopy migration, The RAM save code uses the host page size associated
with the RAM Block.
But to precopy migration, We uses the host page size while sending pages.
[LM: BSC#1141043 BSC#1127077]
Signed-off-by: Lin Ma <lma@suse.com>
---
migration/ram.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c
index 021d583b9bdf89882eea9341c54a..537b77a28d7508c0cd6084065cc1 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1489,8 +1489,12 @@ static int ram_save_host_page(RAMState *rs, PageSearchStatus *pss,
bool last_stage)
{
int tmppages, pages = 0;
- size_t pagesize_bits =
- qemu_ram_pagesize(pss->block) >> TARGET_PAGE_BITS;
+ size_t pagesize_bits;
+
+ if (migrate_postcopy_ram())
+ pagesize_bits = qemu_ram_pagesize(pss->block) >> TARGET_PAGE_BITS;
+ else
+ pagesize_bits = qemu_host_page_size >> TARGET_PAGE_BITS;
do {
tmppages = ram_save_target_page(rs, pss, last_stage);