diff options
author | Orit Wasserman <owasserm@redhat.com> | 2012-08-06 21:42:54 +0300 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2012-08-08 13:51:12 +0200 |
commit | 9e1ba4cc4e2536d9650e84e2614c5691ed45938f (patch) | |
tree | 33337a2809496c43cf6d2c68d66fcba8d61ad8db /arch_init.c | |
parent | 17ad9b358bceba78ae80f2963c6036eab726010c (diff) |
Add migrate_set_cache_size command
Change XBZRLE cache size in bytes (the size should be a power of 2, it will be
rounded down to the nearest power of 2).
If XBZRLE cache size is too small there will be many cache miss.
New query-migrate-cache-size QMP command and 'info migrate_cache_size' HMP
command to query cache value.
Signed-off-by: Benoit Hudzia <benoit.hudzia@sap.com>
Signed-off-by: Petter Svard <petters@cs.umu.se>
Signed-off-by: Aidan Shribman <aidan.shribman@sap.com>
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'arch_init.c')
-rw-r--r-- | arch_init.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch_init.c b/arch_init.c index 8cff9c608f..7fbfe91ad5 100644 --- a/arch_init.c +++ b/arch_init.c @@ -191,6 +191,16 @@ static struct { .cache = NULL, }; + +int64_t xbzrle_cache_resize(int64_t new_size) +{ + if (XBZRLE.cache != NULL) { + return cache_resize(XBZRLE.cache, new_size / TARGET_PAGE_SIZE) * + TARGET_PAGE_SIZE; + } + return pow2floor(new_size); +} + static void save_block_hdr(QEMUFile *f, RAMBlock *block, ram_addr_t offset, int cont, int flag) { |