
Markus Armbruster <armbru@redhat.com> writes:
Anthony Liguori <anthony@codemonkey.ws> writes:
Markus Armbruster <armbru@redhat.com> writes:
Eduardo Habkost <ehabkost@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.