On 6/2/20 10:00 AM, Tao Xu wrote:

On 6/1/2020 4:10 PM, Michal Privoznik wrote:
On 5/29/20 5:09 PM, Igor Mammedov wrote:
On Fri, 29 May 2020 15:33:48 +0200
Michal Privoznik <mpriv...@redhat.com> wrote:

The initiator attribute of a NUMA node is documented as the 'NUMA
node that has best performance to given NUMA node'. If a NUMA
node has at least one CPU there can hardly be a different node
with better performace and thus all NUMA nodes which have a CPU
are initiators to themselves. Reflect this fact when initializing
the attribute.

It is not true in case of the node is memory-less

Are you saying that if there's a memory-less NUMA node, then it needs to
have initiator set too? Asking mostly out of curiosity because we don't
allow memory-less NUMA nodes in Libvirt just yet. Nor cpu-less, but my
patches that I'm referring to in cover letter will allow at least
cpu-less nodes. Should I allow both?
QEMU now is not support memory-less NUMA node, but in hardware may be supported. So we reserve this type of NUMA node for future usage. And QEMU now can support cpu-less NUMA node, for emulating some "slow" memory(like some NVDIMM).

Oh yeah, I understand that. But it doesn't explain why initiator needs to be specified for NUMA nodes with cpus and memory, or does it? Maybe I'm still misunderstanding what the initiator is.



Also, can you shed more light into why machine_set_cpu_numa_node() did
not override the .initiator?

And this one is still unanswered too. Because from user's perspective, initiator has to be set on all NUMA nodes (if HMAT is enabled) and it seems like this auto assignment code is not run/not working.

Michal


Reply via email to