[libvirt] [Qemu-devel] [PATCH v2] vl.c: Support multiple CPU ranges on -numa option

Paolo Bonzini pbonzini at redhat.com
Thu Feb 28 15:12:18 UTC 2013


Il 28/02/2013 14:41, Anthony Liguori ha scritto:
> 
> This is certainly ambiguous.  Does this mean that you have a single cpu
> for the node (VCPU 4) or does it mean the node have 4 cpus (presumably
> ranged 0-3).
> 
> Given that ambiguity the following:
> 
>     qemu -numa node,nodeid=2,cpus=4,cpus=8
> 
> Does help the situation.  A reasonable person could assume that cpus=8
> overrides the previous cpus=4 (as it does elsewhere in QEMU) and
> therefore assume they were creating a node with 8 CPUS (0-7) instead of
> two cpus.  However:
> 
>     qemu -numa node,nodeid=2,cpus=4:8
> 
> Is much less ambiguous.  Granted, it's not immediately obvious whether
> this is a range specification or a disjoint specification but it's more
> clear than the previous syntax.

This makes your point clear, but it sounds a bit artificial.  "4" or "8"
would never appear alone.  You would likely have something like

    -numa node,nodeid=0,cpus=0,cpus=12 \
    -numa node,nodeid=1,cpus=1,cpus=13 \
    -numa node,nodeid=2,cpus=2,cpus=14 \
    -numa node,nodeid=3,cpus=3,cpus=15 \
    -numa node,nodeid=4,cpus=4,cpus=8

which would make the syntax much more obvious.

Something like 4:8 would be rather unclear actually, because both numbes
are even.  Given "-numa node,nodeid=2,cpus=4:8" out of context, I would
guess that 4:8 is [4,8) where the upper-bound is excluded for some
reason.  Of course context would clear it up, but that also applies to
cpus=foo,cpus=bar.

Paolo




More information about the libvir-list mailing list