qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V6 01/11] NUMA: add NumaOptions, NumaNodeOptions


From: Laszlo Ersek
Subject: Re: [Qemu-devel] [PATCH V6 01/11] NUMA: add NumaOptions, NumaNodeOptions and NumaMemOptions
Date: Tue, 30 Jul 2013 12:52:04 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130621 Thunderbird/17.0.7

On 07/30/13 09:32, Wanlong Gao wrote:
> +##
> +# @UInt16
> +#
> +# Let "uint16" be entry-wise
> +#
> +# @u16: a "uint16" type value
> +#
> +# Since 1.7
> +##
> +{ 'type': 'UInt16', 'data': { 'u16': 'uint16' }}

Ah sorry, I should have spelled this out more clearly -- I only
mentioned it in my OptsVisitor series' cover letter (not the RFC one,
just the PATCH one):

On 07/22/13 23:07, Laszlo Ersek wrote:
> rfc->v1:
> ...
> - updated the cover letter to take native lists into account, plus
>   cleaned it up.
> ...
> (Commit eb7ee2cb ("qapi: introduce OptsVisitor") had originally
> documented OptsVisitor's general schema requirements for parsing
> repeated options such that the list element type had to be a struct
> with one mandatory scalar field. Accordingly, the RFC version of this
> series required for interval flattening that this underlying scalar
> type be an integer type. However, since commit a678e26c ("qapi: pad
> GenericList value fields to 64 bits") we've had reliable native lists;
> OptsVisitor turns out to support them automatically.)

IOW, you can drop the UInt16 wrapper struct, and below:

> +
> +##
> +# @NumaOptions
> +#
> +# A discriminated record of NUMA options.
> +#
> +# Since 1.7
> +##
> +{ 'union': 'NumaOptions',
> +  'data': {
> +    'node': 'NumaNodeOptions',
> +    'mem':  'NumaMemOptions' }}
> +
> +##
> +# @NumaNodeOptions
> +#
> +# Create a guest NUMA node.
> +#
> +# @nodeid: #optional NUMA node ID
> +#
> +# @cpus: #optional VCPUs belong to this node
> +#
> +# @mem: #optional memory size of this node (remain as legacy)
> +#
> +# Since: 1.7
> +##
> +{ 'type': 'NumaNodeOptions',
> +  'data': {
> +   '*nodeid': 'uint16',
> +   '*cpus':   ['UInt16'],
> +   '*mem':    'str' }}

you can use plain ['uint16'] as type. (You can also glance at 8/8 (unit
test schema) in my series.)

> +
> +##
> +# @NumaMemOptions
> +#
> +# Set memory information of guest NUMA node.
> +#
> +# @nodeid: #optional NUMA node ID
> +#
> +# @size: #optional memory size of this node
> +#
> +# Since 1.7
> +##
> +{ 'type': 'NumaMemOptions',
> +  'data': {
> +   '*nodeid': 'uint16',
> +   '*size':   'size' }}
> 

Rest looks good for this patch I think.

Laszlo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]