summaryrefslogtreecommitdiff
path: root/migration/ram.c
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2017-10-06 23:00:12 +0200
committerJuan Quintela <quintela@redhat.com>2017-10-29 14:06:15 +0100
commit2a313e5cf6ed90b932b0abe2b4f2055785397f93 (patch)
treedbcb5f3fdfa23e9c411045a984950079b5a9781a /migration/ram.c
parentbab01ed4e87a75ce2e779cf0a79b74ca97fd29ea (diff)
downloadqemu-2a313e5cf6ed90b932b0abe2b4f2055785397f93.tar.gz
migration: Don't play games with the requested cache size
Now that we check that the value passed is a power of 2, we don't need to play games when comparing what is the size that is going to take the cache. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration/ram.c')
-rw-r--r--migration/ram.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/migration/ram.c b/migration/ram.c
index 7f6327f708..42f3b7cb28 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -136,12 +136,14 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
return -1;
}
+ if (new_size == migrate_xbzrle_cache_size()) {
+ /* nothing to do */
+ return new_size;
+ }
+
XBZRLE_cache_lock();
if (XBZRLE.cache != NULL) {
- if (pow2floor(new_size) == migrate_xbzrle_cache_size()) {
- goto out_new_size;
- }
new_cache = cache_init(new_size, TARGET_PAGE_SIZE, errp);
if (!new_cache) {
ret = -1;
@@ -152,8 +154,7 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
XBZRLE.cache = new_cache;
}
-out_new_size:
- ret = pow2floor(new_size);
+ ret = new_size;
out:
XBZRLE_cache_unlock();
return ret;