Re: libvirt error - "cannot set CPU affinity"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/31/23 13:43, Dipanjan Das wrote:
> Hello,
> 
> I am getting the following error message when trying to run a VM with
> the emulatorpin cpuset set to a value -
> 
> "cannot set CPU affinity on process 78: Invalid argument".
> 
> Note that removing the emulatorpin leads to the VM running successfully.
> 
> The core that I am setting for the emulatorpin cpuset is present on the
> system and is not in the isolcpus set of the host.

The question is, whether the container that libvirtd runs in is allowed
to run on the selected cpuset. I mean, you can have a cgroup that allows
a subset of physical CPUs, and when a process running within the cgroup
tries to set affinity to a CPU that's not allowed it gets EINVAL.

The function this error message comes from is: virProcessSetAffinity()
(the linux version)

https://gitlab.com/libvirt/libvirt/-/blob/master/src/util/virprocess.c#L445

Another reason for the error might be insufficient permissions (though
the man page of sched_setaffinity() says you'd get an EPERM so maybe not).

> 
> Any suggestions on what could be the problem? Any pointers to how to
> debug the issue would help greatly too.

Turning on debug logs is a good start. From there you'd need a trained
eye to see the code path, but if you post a link to the logs here I'll
try to help.

Michal




[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux