From: Roman Bolshakov <r.bolshakov@yadro.com>
To: Eric Blake <eblake@redhat.com>
Cc: qemu-devel@nongnu.org, Eduardo Habkost <ehabkost@redhat.com>,
Markus Armbruster <armbru@redhat.com>
Subject: Re: [PATCH for-6.0 1/6] qapi: Add query-accel command
Date: Mon, 16 Nov 2020 21:56:14 +0300 [thread overview]
Message-ID: <20201116185614.GA38857@SPB-NB-133.local> (raw)
In-Reply-To: <2d934855-ad11-9f61-28a1-7c0a35347a66@redhat.com>
On Mon, Nov 16, 2020 at 10:20:04AM -0600, Eric Blake wrote:
> On 11/16/20 7:10 AM, Roman Bolshakov wrote:
> > There's a problem for management applications to determine if certain
> > accelerators available. Generic QMP command should help with that.
> >
> > Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
> > ---
> > monitor/qmp-cmds.c | 15 +++++++++++++++
> > qapi/machine.json | 19 +++++++++++++++++++
> > 2 files changed, 34 insertions(+)
> >
>
> > +++ b/qapi/machine.json
> > @@ -591,6 +591,25 @@
> > ##
> > { 'command': 'query-kvm', 'returns': 'KvmInfo' }
> >
> > +##
> > +# @query-accel:
> > +#
> > +# Returns information about an accelerator
> > +#
> > +# Returns: @KvmInfo
> > +#
> > +# Since: 6.0.0
>
> We're inconsistent on whether we have 'Since: x.y' or 'Since: x.y.z',
> although I prefer the shorter form. Maybe Markus has an opnion on that.
>
Sure, please let me know which one is better.
> > +#
> > +# Example:
> > +#
> > +# -> { "execute": "query-accel", "arguments": { "name": "kvm" } }
> > +# <- { "return": { "enabled": true, "present": true } }
> > +#
> > +##
> > +{ 'command': 'query-accel',
> > + 'data': { 'name': 'str' },
> > + 'returns': 'KvmInfo' }
>
> '@name' is undocumented and an open-coded string.
>
Thanks for catching that! I'll add documentation for the field.
> Better would be requiring 'name' to be one of an enum type.
I haven't found any enums available, that's why I used accel_find that
looks up accel from string in QOM.
> Even better would be returning an array of KvmInfo with information on
> all supported accelerators at once, rather than making the user call
> this command once per name.
>
I considered that, but wasn't sure if it's right or wrong. I'd prefer it
over the first option with enums. Likely, we can do that by iterating
all concerete accelerators:
object_class_get_list(TYPE_ACCEL, false);
name parameter can be then dropped and query-accel would be renamed to
query-accels.
The approach has a drawback - there's no way to return accelerators that
aren't compiled, i.e. kvm on macOS or hvf on Linux. I don't know if it's
an issue or not.
query-accels would only return all available accelerators registered via
QOM and one of them would be enabled.
I think I'd try to use query-accel in libvirt before proceeding with
query-accels. If it'll be apparent that query-accels is superior, then'd
go with it.
Thanks,
Roman
next prev parent reply other threads:[~2020-11-16 19:39 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-16 13:10 [PATCH for-6.0 0/6] Add HMP/QMP commands to query accelerator Roman Bolshakov
2020-11-16 13:10 ` [PATCH for-6.0 1/6] qapi: Add query-accel command Roman Bolshakov
2020-11-16 16:20 ` Eric Blake
2020-11-16 18:56 ` Roman Bolshakov [this message]
2020-11-16 21:13 ` Eduardo Habkost
2020-11-17 8:51 ` Markus Armbruster
2020-11-18 1:19 ` Roman Bolshakov
2020-11-18 8:36 ` Markus Armbruster
2020-11-18 9:21 ` Paolo Bonzini
2020-11-18 13:08 ` Markus Armbruster
2020-11-18 13:46 ` Paolo Bonzini
2020-11-18 14:45 ` Markus Armbruster
2020-11-18 14:54 ` Paolo Bonzini
2020-11-18 14:00 ` Roman Bolshakov
2020-11-18 11:28 ` Kevin Wolf
2020-11-18 11:56 ` Daniel P. Berrangé
2020-11-18 13:53 ` Markus Armbruster
2020-11-18 15:45 ` Eduardo Habkost
2020-11-18 15:56 ` Eric Blake
2020-11-18 16:23 ` Eduardo Habkost
2020-11-19 13:17 ` Markus Armbruster
2020-11-30 17:05 ` Philippe Mathieu-Daudé
2020-11-16 13:10 ` [PATCH for-6.0 2/6] qapi: Rename KvmInfo to AccelInfo Roman Bolshakov
2020-11-27 10:40 ` Dr. David Alan Gilbert
2020-11-27 12:08 ` Markus Armbruster
2020-11-16 13:10 ` [PATCH for-6.0 3/6] qapi: Use qmp_query_accel() in qmp_query_kvm() Roman Bolshakov
2020-11-16 13:10 ` [PATCH for-6.0 4/6] softmmu: Remove kvm_available() Roman Bolshakov
2020-11-16 13:10 ` [PATCH for-6.0 5/6] hmp: Add 'info accel' command Roman Bolshakov
2020-11-27 10:39 ` Dr. David Alan Gilbert
2020-11-16 13:10 ` [PATCH for-6.0 6/6] qapi: Deprecate 'query-kvm' Roman Bolshakov
2020-11-27 10:50 ` Daniel P. Berrangé
2020-11-27 11:21 ` Peter Krempa
2020-11-27 11:45 ` Roman Bolshakov
2020-11-27 12:18 ` Peter Krempa
2020-11-27 15:44 ` Markus Armbruster
2020-11-27 16:30 ` Peter Krempa
2020-11-30 9:21 ` Markus Armbruster
2020-11-30 10:09 ` Peter Krempa
2020-11-30 16:03 ` Markus Armbruster
2020-11-30 15:30 ` Eric Blake
2020-11-27 15:53 ` Daniel P. Berrangé
2020-11-27 16:35 ` Peter Krempa
2020-11-19 14:41 ` [PATCH for-6.0 0/6] Add HMP/QMP commands to query accelerator Claudio Fontana
2020-11-19 15:46 ` Roman Bolshakov
2020-11-19 15:54 ` Claudio Fontana
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=20201116185614.GA38857@SPB-NB-133.local \
--to=r.bolshakov@yadro.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=ehabkost@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).