Markus Armbruster <arm...@redhat.com> writes: > Anthony Liguori <anth...@codemonkey.ws> writes: > >> Markus Armbruster <arm...@redhat.com> writes: >> >>> Eduardo Habkost <ehabk...@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.