On 08/14/2015 11:35 AM, Wei Liu wrote:
On Fri, Aug 14, 2015 at 11:19:53AM -0400, Boris Ostrovsky wrote:
What is the purpose of 'nr_vmemranges < nr_vnodes' test in
xc_domain_setvnuma()? Can't we have nodes with no memory?
If that's the case, this check will still miss configurations when a node
spans multiple memory ranges.
For example, this fails:
vcpus = 4
vnuma = [ [ "pnode=0","size=2048","vcpus=0-1" ],
[ "pnode=1","size=1800" ],
[ "pnode=2","size=0","vcpus=2-3" ],
[ "pnode=3","size=100" ] ]
but this
vcpus = 4
vnuma = [ [ "pnode=0","size=2048","vcpus=0-1" ],
[ "pnode=1","size=1801" ],
[ "pnode=2","size=0","vcpus=2-3" ],
[ "pnode=3","size=100" ] ]
does not: because of MMIO hole this will cause a second 1MB range to be
created on node 1 (in libxl__vnuma_build_vmemrange_hvm()).
Can we drop this check?
I would say yes. There is certainly such hardware that some NUMA node
has 0 memory.
Note that this function was written in the early day of vNUMA (4.5). I
think that function has the assumption that each vnode has one
vmemrange.
Try removing that check and see what happens?
I already did --- you think I'd ask without first trying? ;-) Yes, it
works fine --- one a couple of tests that I tried.
Do you want me to send a patch?
-boris
But, how far are you willing to go? Do you want system with no
vmemranges at all (that means, no memory at all)? If so that
nr_vmemranges == 0 check should also be removed. Just kidding...
Wei.
-boris
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel