[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 01/32] migration: Remove static allocation of xzblre
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 01/32] migration: Remove static allocation of xzblre cache buffer |
Date: |
Mon, 24 Oct 2016 18:24:57 +0100 |
From: Vijaya Kumar K <address@hidden>
Allocate xzblre zero page cache buffer dynamically.
Remove dependency on TARGET_PAGE_SIZE to make run-time
page size detection for arm platforms.
Signed-off-by: Vijaya Kumar K <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
---
migration/ram.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/migration/ram.c b/migration/ram.c
index bc6154f..d032d38 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -69,7 +69,7 @@ static uint64_t bitmap_sync_count;
/* 0x80 is reserved in migration.h start with 0x100 next */
#define RAM_SAVE_FLAG_COMPRESS_PAGE 0x100
-static const uint8_t ZERO_TARGET_PAGE[TARGET_PAGE_SIZE];
+static uint8_t *ZERO_TARGET_PAGE;
static inline bool is_zero_range(uint8_t *p, uint64_t size)
{
@@ -1431,6 +1431,7 @@ static void ram_migration_cleanup(void *opaque)
cache_fini(XBZRLE.cache);
g_free(XBZRLE.encoded_buf);
g_free(XBZRLE.current_buf);
+ g_free(ZERO_TARGET_PAGE);
XBZRLE.cache = NULL;
XBZRLE.encoded_buf = NULL;
XBZRLE.current_buf = NULL;
@@ -1889,6 +1890,7 @@ static int ram_save_setup(QEMUFile *f, void *opaque)
if (migrate_use_xbzrle()) {
XBZRLE_cache_lock();
+ ZERO_TARGET_PAGE = g_malloc0(TARGET_PAGE_SIZE);
XBZRLE.cache = cache_init(migrate_xbzrle_cache_size() /
TARGET_PAGE_SIZE,
TARGET_PAGE_SIZE);
--
2.7.4
- [Qemu-devel] [PULL 00/32] target-arm queue, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 01/32] migration: Remove static allocation of xzblre cache buffer,
Peter Maydell <=
- [Qemu-devel] [PULL 20/32] arm_mptimer: Convert to use ptimer, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 23/32] ARM: Virt: ACPI: Build an IORT table with RC and ITS nodes, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 22/32] ACPI: Add IORT Structure definition, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 29/32] hw/arm: QOM'ify strongarm.c, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 30/32] hw/display: QOM'ify pl110.c, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 16/32] hw/ptimer: Add "no counter round down" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 27/32] hw/arm: QOM'ify musicpal.c, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 24/32] timer: a9gtimer: remove loop to auto-increment comparator, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 12/32] hw/ptimer: Add "no immediate trigger" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 14/32] hw/ptimer: Add "no immediate reload" policy, Peter Maydell, 2016/10/24