]> git.proxmox.com Git - qemu-server.git/commitdiff
migrate cache-size : power of 2
authorAlexandre Derumier <aderumier@odiso.com>
Tue, 13 Feb 2018 07:51:15 +0000 (08:51 +0100)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Thu, 22 Feb 2018 15:27:48 +0000 (16:27 +0100)
qemu 2.11 need a power of 2 cache size.

"
Parameter 'xbzrle_cache_size' expects is invalid,
it should be bigger than target page size and a power of two
"

roundup to near power of 2 value

PVE/QemuMigrate.pm

index 04a0776852fe755fba5d1ae8aec8780f1b7c20a7..27cf7e36eb3706d3cc73cadad0f0ea436a7fa4dc 100644 (file)
@@ -692,6 +692,8 @@ sub phase2 {
     # set cachesize to 10% of the total memory
     my $memory =  $conf->{memory} || $defaults->{memory};
     my $cachesize = int($memory * 1048576 / 10);
+    $cachesize = round_powerof2($cachesize);
+
     $self->log('info', "set cachesize: $cachesize");
     eval {
        PVE::QemuServer::vm_mon_cmd_nocheck($vmid, "migrate-set-cache-size", value => int($cachesize));
@@ -1032,4 +1034,9 @@ sub final_cleanup {
     # nothing to do
 }
 
+sub round_powerof2 {
+    return 1 if $_[0] < 2;
+    return 2 << int(log($_[0]-1)/log(2));
+}
+
 1;