[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Error "cannot bind memory to host NUMA nodes: Operation not permitte
From: |
Daniel P . Berrangé |
Subject: |
Re: Error "cannot bind memory to host NUMA nodes: Operation not permitted" running inside docker |
Date: |
Thu, 30 Apr 2020 09:52:15 +0100 |
User-agent: |
Mutt/1.13.3 (2020-01-12) |
On Wed, Apr 29, 2020 at 11:40:32PM +0300, Manuel Hohmann wrote:
> Hi,
>
> I encountered the following error message on the QEMU 5.0.0 release, compiled
> and run inside a docker image:
>
> "cannot bind memory to host NUMA nodes: Operation not permitted"
The error is reporting that mbind() failed.
mbind() man page says it gives EPERM when
"The flags argument included the MPOL_MF_MOVE_ALL flag and
the caller does not have the CAP_SYS_NICE privilege."
QEMU always uses the MPOL_MF_MOVE flag though.
Looking at the kernel source, mbind can also return EPERM if the
process is not permitted to access the requested nodes which seems
more plausible as a cause.
I guess the container the bound to some sub-set of nodes and QEMU is
trying to place the VM on different nodes that the container isn't
allowed to accesss.
>
> The QEMU command line to reproduce this behavior (it happens also on -x86_64,
> -arm, -aarch64 with similar command line):
>
> qemu-system-i386 -m 64 -M pc -smp 1 -display none -monitor stdio -drive
> file=mp-acpi/NOS.iso,media=cdrom,id=d -boot order=d -d cpu_reset
There is no reference to host mem backend or NUMA binding, so I'm
puzzled why QEMU would be doing an mbind() at all. That seems bad.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|