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

Markus Armbruster armbru at redhat.com
Fri Feb 22 10:04:24 UTC 2013


Markus Armbruster <armbru at redhat.com> writes:

> Anthony Liguori <anthony at codemonkey.ws> writes:
>
>> Markus Armbruster <armbru at redhat.com> writes:
>>
>>> Eduardo Habkost <ehabkost at redhat.com> writes:
>>>
>>>> This allows "," to be used a separator between each CPU range.  Note
>>>> that commas inside key=value command-line options have to be escaped
>>>> using ",,", so the command-line will look like:
>>>>
>>>>   -numa node,cpus=A,,B,,C,,D
>>>
>>> This is really, really ugly, and an embarrassment to document.  Which
>>> you didn't ;)
>>>
>>> What about
>>>
>>>     -numa node,cpus=A,cpus=B,cpus=C,cpus=D
>>>
>>> Yes, QemuOpts lets you do that.  Getting all the values isn't as easy as
>>> it could be (unless you use Laszlo's opt-visitor), but that could be
>>> improved.
>>
>> No more of this.
>>
>>  -numa node,cpus=A:B:C:D 
>>
>> if you want to express a list.
>
> Okay for command line and human monitor, just don't let it bleed into
> QMP.

Footnotes:

1. Using colons for lists works only as long as the list elements don't
contain colons.  Fine for numbers.  No good for filenames, network
addresses, ...

2. QemuOpts helped us reduce the number of ad hoc option parsers,
improving consistency and error messages quite a bit.  Having every user
of colon lists roll their own ad hoc parser slides back into the hole
that motivated QemuOpts.  Let's try to avoid that, please.

3. The existing QemuOpts syntax for list-valued options (repeating the
option) doesn't have either of these problems.




More information about the libvir-list mailing list