Skip to content

Commit

Permalink
migration: Remove static allocation of xzblre cache buffer
Browse files Browse the repository at this point in the history
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 <vijayak@cavium.com>
Message-id: 1465808915-4887-2-git-send-email-vijayak@caviumnetworks.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
Vijaya Kumar K authored and pm215 committed Oct 24, 2016
1 parent a3ae21e commit adb65de
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion migration/ram.c
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit adb65de

Please sign in to comment.