]> git.proxmox.com Git - qemu-server.git/commitdiff
hugepages: fix memory size checking
authorStefan Reiter <s.reiter@proxmox.com>
Mon, 28 Oct 2019 13:30:41 +0000 (14:30 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 29 Oct 2019 15:52:54 +0000 (16:52 +0100)
The codepath for "any" hugepages did not check if memory size was even,
leading to the code below trying to allocate half a hugepage (e.g. VM
with 2049MiB RAM would lead to 1024.5 2kB hugepages).

Also improve error message for systems with only 1GB hugepages enabled.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
PVE/QemuServer/Memory.pm

index 5aceabf266df7daf8bb89dbe1c2ab306e1713fd0..04f80183f20dcb4df4c67c4f2f00304b2d53f7b6 100644 (file)
@@ -402,10 +402,11 @@ sub hugepages_size {
        if ($gb_exists && ($size % 1024 == 0)) {
            return 1024;
        } elsif (-d "/sys/kernel/mm/hugepages/hugepages-2048kB") {
+           die "memory size must be even to use hugepages\n" if $size % 2 != 0;
            return 2;
        }
 
-       die "your system doesn't support hugepages for memory size $size\n"
+       die "your system doesn't support hugepages for memory size $size (1GB hugepages would be supported)\n"
            if $gb_exists;
 
        die "your system doesn't support hugepages\n";