Avi Kivity wrote:
Anthony Liguori wrote:

In the event that the VM is larger than a single node, if a user is creating it via qemu-system-x86_64, they're going to either not care at all about NUMA, or be familiar enough with the numactl tools that they'll probably just want to use that. Once you've got your head around the fact that VCPUs are just threads and the memory is just a shared memory segment, any knowledgable sysadmin will have no problem doing whatever sort of NUMA layout they want.


The vast majority of production VMs will be created by management tools.

I agree.

We need libnuma integrated in qemu. Using numactl outside of qemu means we need to start exposing more and more qemu internals (vcpu->thread mapping, memory in /dev/shm, phys_addr->ram_addr mapping) and lose out on optimization opportunities (having multiple numa-aware iothreads, numa-aware kvm mmu). It also means we cause duplication of the numa logic in management tools instead of consolidation in qemu.

I think it's the opposite. Integrating libnuma in QEMU means duplication of numactl functionality in QEMU. What you'd really want, I think, is to be able to use numactl but say -qemu-guest-memory-offset 1G -qemu-guest-memory-size 1G.

The /dev/shm approximates that pretty well. Also, the current patches don't do the most useful thing, they don't use provide an interface for dynamically changing numa attributes.

But, as I said, if there's agreement that we should bake this into QEMU, then so be it. But let's make this a separate conversation than the rest of the patches.

Regards,

Anthony Liguori

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to