[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add
From: |
Peter Krempa |
Subject: |
Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add |
Date: |
Thu, 11 Mar 2021 08:47:02 +0100 |
User-agent: |
Mutt/2.0.5 (2021-01-21) |
On Wed, Mar 10, 2021 at 18:30:44 +0100, Kevin Wolf wrote:
> Am 10.03.2021 um 15:31 hat Paolo Bonzini geschrieben:
> > On 10/03/21 15:22, Peter Krempa wrote:
[...]
> The keyval parser would create a list if multiple values are given for
> the same key. Some care needs to be taken to avoid mixing the magic
> list feature with the normal indexed list options.
>
> The QAPI schema would then use an alternate between 'int' and ['int'],
> with the the memory-backend-ram implementation changed accordingly.
>
> We could consider immediately deprecating the syntax and printing a
> warning in the keyval parser when it automatically creates a list from
> two values for a key, so that users don't start using this syntax
By 'creating a list from two values for a key' you mean:
host-nodes=0,host-nodes=1
to be converted into [0, 1] ?
> instead of the normal list syntax in other places. We'd probably still
> leave the implementation around for -device and other users of the same
> magic.
There's three options actually that libvirt uses, visible in one our
test files [1]
For a single value we format:
-object
memory-backend-ram,id=ram-node0,size=20971520,host-nodes=3,policy=preferred
For a contiguous list:
-object
memory-backend-ram,id=ram-node1,size=676331520,host-nodes=0-7,policy=bind
And for an interleaved list:
-object
memory-backend-ram,id=ram-node2,size=24578621440,host-nodes=1-2,host-nodes=5,host-nodes=7,policy=bind
If any of the above is to be deprecated we'll need to adjust our
JSON->commandline generator accordignly.
Luckily the 'host-nodes' is storeable as a bitmap and the generator is
actually modular to allow plugging an array interpretor which actually
does the above conversion from a JSON array.
So, what is the preferred syntax here? Additionally we might need a
witness property to detect when to use the new syntax if basing it on
the object-add qapification will not be enough.
[1]
https://gitlab.com/libvirt/libvirt/-/blob/master/tests/qemuxml2argvdata/numatune-memnode.args
- [PATCH v3 16/30] qapi/qom: Add ObjectOptions for input-*, (continued)
- [PATCH v3 16/30] qapi/qom: Add ObjectOptions for input-*, Kevin Wolf, 2021/03/08
- [PATCH v3 22/30] qom: Factor out user_creatable_process_cmdline(), Kevin Wolf, 2021/03/08
- [PATCH v3 26/30] qemu-img: Use user_creatable_process_cmdline() for --object, Kevin Wolf, 2021/03/08
- [PATCH v3 30/30] qom: Drop QemuOpts based interfaces, Kevin Wolf, 2021/03/08
- [PATCH v3 15/30] qapi/qom: Add ObjectOptions for confidential-guest-support, Kevin Wolf, 2021/03/08
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Peter Krempa, 2021/03/10
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/10
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Peter Krempa, 2021/03/10
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/10
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add,
Peter Krempa <=
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Peter Krempa, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Peter Krempa, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Markus Armbruster, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Markus Armbruster, 2021/03/11