[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 04/14] NUMA: convert -numa option to use Opt
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH 04/14] NUMA: convert -numa option to use OptsVisitor |
Date: |
Wed, 11 Dec 2013 22:35:04 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 11/12/2013 19:51, Eric Blake ha scritto:
>> > +{ 'union': 'NumaOptions',
>> > + 'data': {
>> > + 'node': 'NumaNodeOptions' }}
> Why do we need a union, if there's no alternative, and since nothing
> else in the series adds an alternative?
Because these structures are used to parse command-line options and
follow somewhat special rules. The "node" in "-numa node,..." is
present for forwards-extensibility. Another alternative, "mem", was
added in previous versions of the NUMA policy patches but is made
obsolete by Igor's memory object.
>> > +
>> > +##
>> > +# @NumaNodeOptions
>> > +#
>> > +# Create a guest NUMA node. (for OptsVisitor)
>> > +#
>> > +# @nodeid: #optional NUMA node ID
>> > +#
>> > +# @cpus: #optional VCPUs belong to this node
> What are the defaults if these fields are omitted?
Wanlong, can you fill this out when you resubmit?
>> > +#
>> > +# @mem: #optional memory size of this node
> In bytes? Why is this field a string instead of an integer?
It was like this because it is a command-line option and thus is never
used via QMP. However, it can and should indeed be a 'size', handled
like Igor did for '-m mem=' in patch 8 of the series.
Paolo
>> > +#
>> > +# Since: 2.0
>> > +##
>> > +{ 'type': 'NumaNodeOptions',
>> > + 'data': {
>> > + '*nodeid': 'uint16',
>> > + '*cpus': ['uint16'],
>> > + '*mem': 'str' }}
- [Qemu-devel] [RFC PATCH 00/14] Common base for memory hotplug and NUMA policy work, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 01/14] NUMA: move numa related code to new file numa.c, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 02/14] NUMA: check if the total numa memory size is equal to ram_size, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 03/14] NUMA: Add numa_info structure to contain numa nodes info, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 04/14] NUMA: convert -numa option to use OptsVisitor, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 05/14] NUMA: expand MAX_NODES from 64 to 128, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 06/14] qapi: add SIZE type parser to string_input_visitor, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 07/14] QemuOpts: introduce qemu_find_opts_singleton, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 08/14] vl: convert -m to QemuOpts, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 09/14] qom: fix leak for objects created with -object, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 10/14] qom: catch errors in object_property_add_child, Paolo Bonzini, 2013/12/11
- [Qemu-devel] [RFC PATCH 11/14] pc: pass QEMUMachineInitArgs to pc_memory_init, Paolo Bonzini, 2013/12/11