
On Wed, 28 Jun 2017 15:21:29 +0100 "Daniel P. Berrange" <berrange@redhat.com> wrote:
On Wed, Jun 28, 2017 at 03:56:36PM +0200, Wim Ten Have wrote:
From: Wim ten Have <wim.ten.have@oracle.com>
Add libvirtd NUMA cell domain administration functionality to describe underlying cell id sibling distances in full fashion when configuring HVM guests.
[below is an example of a 4 node setup]
Hi Daniel, I think you're best to consult on below issue too. This given it is related to the changes I am preparing but was obviously not yet discussed. Your other hint towards symmetry on distance configuration and autonomous actions made me more carefully approach whole. Working <numa> <distance> support, specifically for xenlight driver I for certain topic related detail consult QEMU/KVM behavior. Here when describing a guest XML configuration in libvirt there's this nuance when <numa> comes into the game. Imagine below. <vcpu placement='static' current='5'>8</vcpu> ... <cpu mode='host-passthrough'> <numa> <cell id='0' cpus='0,2' memory='262144' unit='KiB'/> <cell id='1' cpus='1,3' memory='262144' unit='KiB'/> </numa> </cpu> Running QEMU/KVM with such onlines 5 CPUs. This is wrong IMHO. <wtenhave@kvm26:35> lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 5 On-line CPU(s) list: 0-4 ... NUMA node(s): 2 ... NUMA node0 CPU(s): 0,2,4 NUMA node1 CPU(s): 1,3 My thinking is that <vcpu ... current='_5_' had to be computed somewhere around under; virDomainDefParseXML() -> virDomainDefPostParse() path and forcibly put to '4'. <vcpu placement='static' current='4'>8</vcpu> This is of course a <numa> related issue. Is it worth fixing this (QEMU/KVM) case? If doing that would that potentially hurt specific use and that way libvirt? - Wim. -- Wim ten Have | Consulting Member of Technical Staff Oracle Linux and VM Development Engineering ORACLE Nederland BV | Hertogswetering 163-167 | 3543 AS Utrecht/NL