[PATCH 1/6] accel: Introduce 'query-accels' QMP command

Claudio Fontana cfontana at suse.de
Fri Mar 12 08:52:33 UTC 2021


On 3/12/21 9:48 AM, Andrew Jones wrote:
> On Fri, Mar 12, 2021 at 09:11:45AM +0100, Thomas Huth wrote:
>> On 12/03/2021 08.42, Marc-André Lureau wrote:
>>>
>>>
>>> On Fri, Mar 12, 2021 at 3:14 AM Philippe Mathieu-Daudé
>>> <philmd at redhat.com <mailto:philmd at redhat.com>> wrote:
>>>
>> [...]
>>>     +##
>>>     +# @AcceleratorInfo:
>>>     +#
>>>     +# Accelerator information.
>>>     +#
>>>     +# @name: The accelerator name.
>>>     +#
>>>     +# Since: 6.0
>>>     +##
>>>     +{ 'union': 'AcceleratorInfo',
>>>     +  'base': {'name': 'Accelerator'},
>>>     +  'discriminator': 'name',
>>>     +  'data': { } }
>>>
>>>     +
>>>
>>>
>>> Making room for future details, why not.
>>
>> I think we definitely need the additional data section here: For KVM on
>> POWER, it would be good to know whether it's KVM-HV or KVM-PR, for KVM on
>> MIPS it would be good to know whether it's KVM_VM_MIPS_VZ or KVM_VM_MIPS_TE,
>> for KVM on x86 whether it's the AMD flavor or Intel, ...
> 
> Could also pre-expand all of these and list them individually.



Let us consider simplicity for the reader, and which use cases we expect for this.


> 
>>
>>>     +##
>>>     +# @query-accels:
>>>     +#
>>>     +# Get a list of AcceleratorInfo for all built-in accelerators.
>>>     +#
>>>     +# Returns: a list of @AcceleratorInfo describing each accelerator.
>>>     +#
>>>     +# Since: 6.0
>>>     +#
>>>     +# Example:
>>>     +#
>>>     +# -> { "execute": "query-accels" }
>>>     +# <- { "return": [
>>>     +#        {
>>>     +#            "type": "qtest"
>>>     +#        },
>>>     +#        {
>>>     +#            "type": "kvm"
>>>     +#        }
>>>     +#    ] }
>>>     +#
>>>     +##
>>>     +{ 'command': 'query-accels',
>>>     +  'returns': ['AcceleratorInfo'] }
>>>
>>>
>>> That's nice, but how do you know which accels are actually enabled?
>>
>> I guess we need two commands in the end, one for querying which accelerators
>> are available, and one for querying the data from the currently active
>> accelerator...?
>>
> 
> If we listed each accelerator individually, then we could use booleans
> for them, where only the active one would be true. If we can't come up
> with another need for the accelerator-specific info now, then I'd leave
> it to be added at a later time when it is needed.
> 
> Thanks,
> drew
> 





More information about the libvir-list mailing list