From: "Kővágó Zoltán" <dirty.ice.hu@gmail.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
qemu-devel@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 03/49] qapi: convert NumaOptions into a flat union
Date: Sat, 22 Aug 2015 17:56:40 +0200 [thread overview]
Message-ID: <55D89BB8.4090201@gmail.com> (raw)
In-Reply-To: <20150821231307.GD5816@thinpad.lan.raisama.net>
2015-08-22 01:13 keltezéssel, Eduardo Habkost írta:
> On Fri, Aug 21, 2015 at 05:36:59PM +0200, Kővágó, Zoltán wrote:
>> Signed-off-by: Kővágó, Zoltán <DirtY.iCE.hu@gmail.com>
>
> I don't understand QAPI enough to understand why exactly this is needed
> (so I would like to get feedback from somebody who actually understands
> QAPI unions), but I have one comment below.
It's needed so the option visitor can support nested structures properly
without flattening them (or breaking backward compatibility).
There is some discussion here:
http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg04438.html
But basically the thing is that with new new opts visitor, unless we
convert NumaOptions into a flat union, the user would have to type -numa
node,node.nodeid=foo instead of -numa node,nodeid=foo which would break
backward compatibility.
>
> [...]
>> ##
>> +# @NumaDriver
>> +#
>> +# List of possible numa drivers.
>> +#
>> +# Since: 2.5
>> +##
>> +{ 'enum': 'NumaDriver',
>> + 'data': [ 'node' ] }
>
> Why is the name "NumaDriver"? Below, the field is called "type", so why
> not something like "NumaOptionType"?
No particular reason other than the example in docs/qapi-code-gen.txt
used driver. The field is called type because in the non-flat union the
discriminator is called type.
>> +
>> +##
>> +# @NumaCommonOptions
>> +#
>> +# Common set of numa options.
>> +#
>> +# @type: the numa driver to use
>> +#
>> +# Since: 2.5
>> +##
>> +{ 'struct': 'NumaCommonOptions',
>> + 'data': {
>> + 'type': 'NumaDriver' } }
>> +
>> +##
>> +# @NumaOptions
>> +#
>> +# A discriminated record of NUMA options. (for OptsVisitor)
>> +#
>> +# Since 2.1
>> +##
>> +{ 'union': 'NumaOptions',
>> + 'base': 'NumaCommonOptions',
>> + 'discriminator': 'type',
>> + 'data': {
>> + 'node': 'NumaNodeOptions' }}
>> +
>> +##
>> # @HostMemPolicy
>> #
>> # Host memory policy types
>> --
>> 2.5.0
>>
>
next prev parent reply other threads:[~2015-08-22 15:56 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-21 15:36 [Qemu-devel] [PATCH v2 00/49] audio: -audiodev option, multiple options Kővágó, Zoltán
2015-08-21 15:36 ` [Qemu-devel] [PATCH v2 01/49] opts: produce valid command line in qemu_opts_print Kővágó, Zoltán
2015-09-04 20:20 ` Eric Blake
2015-08-21 15:36 ` [Qemu-devel] [PATCH v2 02/49] qapi: support implicit structs in OptsVisitor Kővágó, Zoltán
2015-09-04 20:26 ` Eric Blake
2015-08-21 15:36 ` [Qemu-devel] [PATCH v2 03/49] qapi: convert NumaOptions into a flat union Kővágó, Zoltán
2015-08-21 23:13 ` Eduardo Habkost
2015-08-22 15:56 ` Kővágó Zoltán [this message]
2015-08-26 15:31 ` Eduardo Habkost
2015-09-04 21:11 ` Eric Blake
2015-09-04 21:02 ` Eric Blake
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 04/49] net: remove NetLegacy struct Kővágó, Zoltán
2015-09-04 21:25 ` Eric Blake
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 05/49] net: use Netdev instead of NetClientOptions in client init Kővágó, Zoltán
2015-09-04 21:36 ` Eric Blake
2015-09-04 21:49 ` Eric Blake
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 06/49] qapi: change Netdev into a flat union Kővágó, Zoltán
2015-09-04 23:13 ` Eric Blake
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 07/49] qapi: reorder NetdevBase and Netdev Kővágó, Zoltán
2015-09-04 23:18 ` Eric Blake
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 08/49] qapi: qapi for audio backends Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 09/49] qapi: support nested structs in OptsVisitor Kővágó, Zoltán
2015-09-04 23:21 ` Eric Blake
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 10/49] audio: use qapi AudioFormat instead of audfmt_e Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 11/49] audio: -audiodev command line option: documentation Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 12/49] audio: -audiodev command line option basic implementation Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 13/49] alsaaudio: port to -audiodev config Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 14/49] coreaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 15/49] dsoundaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 16/49] noaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 17/49] ossaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 18/49] paaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 19/49] sdlaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 20/49] spiceaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 21/49] wavaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 22/49] audio: -audiodev command line option: cleanup Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 23/49] audio: reduce glob_audio_state usage Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 24/49] audio: basic support for multi backend audio Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 25/49] audio: add audiodev properties to frontends Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 26/49] audio: audiodev= parameters no longer optional when -audiodev present Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 27/49] paaudio: do not create multiple connections to the same server Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 28/49] paaudio: do not move stream when sink/source name is specified Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 29/49] paaudio: properly disconnect streams in fini_* Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 30/49] audio: remove audio_MIN, audio_MAX Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 31/49] audio: do not run each backend in audio_run Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 32/49] paaudio: fix playback glitches Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 33/49] audio: remove read and write pcm_ops Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 34/49] audio: use size_t where makes sense Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 35/49] audio: api for mixeng code free backends Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 36/49] alsaaudio: port to the new audio backend api Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 37/49] coreaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 38/49] dsoundaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 39/49] noaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 40/49] ossaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 41/49] paaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 42/49] sdlaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 44/49] wavaudio: " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 45/49] audio: remove remains of the old " Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 46/49] audio: unify input and output mixeng buffer management Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 47/49] audio: remove hw->samples, buffer_size_in/out pcm_ops Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 48/49] audio: common rate control code for timer based outputs Kővágó, Zoltán
2015-08-21 15:37 ` [Qemu-devel] [PATCH v2 49/49] audio: split ctl_* functions into enable_* and volume_* Kővágó, Zoltán
2015-09-03 10:15 ` [Qemu-devel] [PATCH v2 00/49] audio: -audiodev option, multiple options Gerd Hoffmann
2015-09-03 12:52 ` Kővágó Zoltán
2015-09-03 15:07 ` Eric Blake
2015-09-06 16:38 ` Kővágó Zoltán
2015-09-07 6:49 ` Markus Armbruster
2015-09-03 10:42 ` Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55D89BB8.4090201@gmail.com \
--to=dirty.ice.hu@gmail.com \
--cc=armbru@redhat.com \
--cc=ehabkost@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).