On 12/10/2016 18:04, Alex Williamson wrote: > On Wed, Oct 12, 2016 at 10:51 AM, Ethan Thomas <thomas.et...@gmail.com > <mailto:thomas.et...@gmail.com>> wrote: > > I've been using a SuperMicro X8DTH-iF for quite some time with no > problems. However it's worth noting that with some generations of > multi-cpu boards the PCI-E lanes and ram may be associated with a > specific CPU, so you may need to adjust which slots and cores you > associate with a particular VM for best performance. > > > I would go so far as to say this is true of any modern multi-socket > system, it's called NUMA, Non-Uniform Memory Access. You can use tools > like lstopo to identify the locality of memory, devices, and > processors. Using memory and CPU from the correct node is important for > an VM, and an assigned device should be an extra pull towards the I/O > local node. Hi Alex
Memory locality is one thing I totally forgot about when setting up my VMs. Do you have any example how to reserve huge pages on a specific node via sysctl, and refer to it later in libvirt configuration? Currently I only use this: ~ # cat /etc/sysctl.d/80-hugepages.conf # Reserve this many 2MB pages for virtual machines vm.nr_hugepages = 28000 ~ # grep hugepages /etc/mtab hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0 ~ # grep hugepages /etc/libvirt/qemu.conf | grep -vE "^#" hugetlbfs_mount = "/dev/hugepages" ~ # virsh dumpxml lublin-vfio1 | head -11 <domain type='kvm' id='3'> <name>lublin-vfio1</name> <uuid>bc578734-6a43-4fda-9b19-e43225007a83</uuid> <memory unit='KiB'>16777216</memory> <currentMemory unit='KiB'>16777216</currentMemory> <memoryBacking> <hugepages> <page size='2048' unit='KiB'/> </hugepages> <nosharepages/> </memoryBacking> ... which entirely ignores memory locality. TIA! B. _______________________________________________ vfio-users mailing list vfio-users@redhat.com https://www.redhat.com/mailman/listinfo/vfio-users