[libvirt] [PATCH 5/5] [RFC] qemu: pass numa node binding preferences to qemu

Martin Kletzander mkletzan at redhat.com
Wed May 28 11:44:49 UTC 2014


On Wed, May 28, 2014 at 11:29:40AM +0100, Daniel P. Berrange wrote:
>On Wed, May 28, 2014 at 11:48:36AM +0200, Martin Kletzander wrote:
>> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>> index 4818cfb..b77914e 100644
>> --- a/src/conf/domain_conf.c
>> +++ b/src/conf/domain_conf.c
>> @@ -17524,7 +17524,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
>>                  goto error;
>>              }
>>              virBufferAsprintf(buf,
>> -                              "<memnode nodeid='%zu' mode='%s' nodeset='%s'/>\n",
>> +                              "<memnode cellid='%zu' mode='%s' nodeset='%s'/>\n",
>>                                i, mode, nodemask);
>>              VIR_FREE(nodemask);
>>          }
>
>Presumably this belongs in an earlier patch in the series.
>

Oh, yes :) the fixup was on the wrong line in interactive rebase.

>> diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
>> index b1bfb5a..ce03a4f 100644
>> --- a/src/qemu/qemu_cgroup.c
>> +++ b/src/qemu/qemu_cgroup.c
>> @@ -588,6 +588,8 @@ qemuSetupCpusetCgroup(virDomainObjPtr vm,
>>      if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET))
>>          return 0;
>>
>> +    /* ASDF: per-node pinnings are not reflected here */
>
>Are you refering to per-node vCPU pinnings here ?
>
>We already have a per-vCPU pin capability in both the XML and the
>cgroup setup code and the new <memnode> affinity mask you're adding
>presumably only applies to memory, not vCPUs, otherwise we'd be
>effectively having two places to set the same info.
>

What we are doing now is that we take the nodeset from <memory>, put
it into cpuset.mems and do virCgroupCpuSetInherit() for the underlying
cgroups in the hierarchy.  What we should do is put the right nodeset
in each (related memnode or global memory, depending on which ones
were set), but *only* if there's mode='strict'.  However, I'm not sure
how to properly handle both memory and memnode settings with different
modes (strict, prefer, interleave).

>Regards,
>Daniel
>--
>|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
>|: http://libvirt.org              -o-             http://virt-manager.org :|
>|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
>|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140528/c5cece21/attachment-0001.sig>


More information about the libvir-list mailing list