Hi All, Matt encountered the following issue when using 1GB huge pages with libvirt
This problem turned out to be entirely my fault because I didn't round the VM's memory size to a 1G multiple, and the kernel tried to split the VMA at the end of the region, triggering this code in the kernel do_mbind() path, static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, unsigned long addr, int new_below) { struct vm_area_struct *new; int err; if (is_vm_hugetlb_page(vma) && (addr & ~(huge_page_mask(hstate_vma(vma))))) return -EINVAL; I have no idea how a less fortunate developer without access to MM experts would have figured this out. It's a shame virsh didn't error out when I initially setup 1G hugepages with an incompatible VM memory size.
What do folks think about improving libvirt to warn or error when using a VM memory size that is not compatible with the host hugepage configuration?
Regards, Jim -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list