On Wed, Oct 19, 2016 at 02:39:46PM +0300, Konstantin Neumoin wrote:
The option for removing vcpu pinning information from config was
added
in:
'7ea9778 vcpupin: add vcpupin resetting feature to qemu driver'
By the way, this hash is ambiguous, 7ea9778c is better, but I rather use
7ea9778c8a3d =)
and removed in:
'a02a161 qemu: libxl: vcpupin: Don't reset pinning when pinning to all pcpus'
by some reasons.
The reason is written in the config. Pinning to all pCPUs is sometimes
wanted. Also you cannot easily reset the pinning on a live domain. You
can pin to all the CPUs, but after CPU is hotplugged (or becomes online)
in the host, you are yet again not pinned to all of them, and more
importantly, you are returning inconsistent information.
So, for now there is no way to remove vcpu pinning from config.
Well, there is. But it's just a workaround. You can pin it to all and
then edit the config. I agree that it's not fun to do, though.
This patch returns options for remove vcpu/emulator pinning settings
from both configs if zero mask(mask filled by zeros) was specified.
This is not documented anywhere. You should add that in the docs.
Although I would rather prefer maplength == 0 to trigger this, or
cpumask == NULL. But that would have to be taken care of in all
drivers, so it's probably not a good idea.
Bottom line for me is, that I don't think we should allow an API for
which we cannot guarantee the results. Until there is a way to reset
pinning reliably that the kernel provides, that is.
Martin