[libvirt] [PATCH] conf: Check for NUMA distances in validity check

Peter Krempa pkrempa at redhat.com
Wed Feb 7 11:18:51 UTC 2018


On Wed, Feb 07, 2018 at 10:45:39 +0100, Michal Privoznik wrote:
> On 02/06/2018 09:34 PM, Peter Krempa wrote:
> > On Tue, Feb 06, 2018 at 17:23:47 +0100, Michal Privoznik wrote:
> >> NUMA distances are part of guest ABI (guests can read it
> >> directly!) and therefore as such shouldn't change throughout the
> >> lifetime of domain.
> >>
> >> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> >> ---
> >>  src/conf/numa_conf.c | 13 ++++++++++++-
> >>  1 file changed, 12 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c
> >> index c906a53de..7d3f9e661 100644
> >> --- a/src/conf/numa_conf.c
> >> +++ b/src/conf/numa_conf.c
> >> @@ -1073,7 +1073,7 @@ bool
> >>  virDomainNumaCheckABIStability(virDomainNumaPtr src,
> >>                                 virDomainNumaPtr tgt)
> >>  {
> >> -    size_t i;
> >> +    size_t i, j;
> > 
> > Please declare j on a separate line.
> 
> Okay.
> 
> > 
> >>      if (virDomainNumaGetNodeCount(src) != virDomainNumaGetNodeCount(tgt)) {
> >>          virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> >> @@ -1102,6 +1102,17 @@ virDomainNumaCheckABIStability(virDomainNumaPtr src,
> >>                               "match source"), i);
> >>              return false;
> >>          }
> >> +
> >> +        for (j = 0; j < virDomainNumaGetNodeCount(src); j++) {
> > 
> > Since the matrix of distances is symetrical along the diagonal, do we
> > really need to check both parts? As in .. how about initializing 'j' to
> > 'i' in this loop?
> > 
> 
> Is it symmetrical? Does it have to be? I mean, I've never seen
> asymmetrical NUMA machine but I don't usually bother checking distance
> matrix when I'm on a NUMA machine (very rarely actually).

Fair enough. I thought that symmetry was being enforced by the parser
code but looking through it now it looks like symmetry is only assumed
if the other direction is not given.

ACK with the variable declaration fixed. 'n' in case of the number of
numa nodes will be rather small, so it should not be a problem to use
O(n^2) algorithm here.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180207/2fec84f8/attachment-0001.sig>


More information about the libvir-list mailing list