From: Markus Armbruster <armbru@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: "Dr. David Alan Gilbert" <dave@treblig.org>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
qemu-devel@nongnu.org, "Cornelia Huck" <cohuck@redhat.com>,
"David Hildenbrand" <david@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>,
qemu-s390x@nongnu.org, devel@lists.libvirt.org,
"Eric Farman" <farman@linux.ibm.com>,
"Ilya Leoshkevich" <iii@linux.ibm.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Eric Blake" <eblake@redhat.com>,
"Halil Pasic" <pasic@linux.ibm.com>,
"Anton Johansson" <anjo@rev.ng>, qemu-arm <qemu-arm@nongnu.org>
Subject: Re: [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate
Date: Tue, 04 Jun 2024 12:00:14 +0200 [thread overview]
Message-ID: <875xup81u9.fsf@pond.sub.org> (raw)
In-Reply-To: <fcb6ff5d-fcad-4eb1-9b64-0a8477954a0d@linaro.org> ("Philippe Mathieu-Daudé"'s message of "Tue, 4 Jun 2024 11:45:11 +0200")
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> Hi Daniel, Dave, Markus & Thomas.
>
> On 4/6/24 06:58, Markus Armbruster wrote:
>> "Dr. David Alan Gilbert" <dave@treblig.org> writes:
>>> * Daniel P. Berrangé (berrange@redhat.com) wrote:
>>>> On Fri, May 31, 2024 at 06:47:45AM +0200, Thomas Huth wrote:
>>>>> On 30/05/2024 09.45, Philippe Mathieu-Daudé wrote:
>>>>>> We are trying to unify all qemu-system-FOO to a single binary.
>>>>>> In order to do that we need to remove QAPI target specific code.
>>>>>>
>>>>>> @dump-skeys is only available on qemu-system-s390x. This series
>>>>>> rename it as @dump-s390-skey, making it available on other
>>>>>> binaries. We take care of backward compatibility via deprecation.
>>>>>>
>>>>>> Philippe Mathieu-Daudé (4):
>>>>>> hw/s390x: Introduce the @dump-s390-skeys QMP command
>>>>>> hw/s390x: Introduce the 'dump_s390_skeys' HMP command
>>>>>> hw/s390x: Deprecate the HMP 'dump_skeys' command
>>>>>> hw/s390x: Deprecate the QMP @dump-skeys command
>>>>>
>>>>> Why do we have to rename the command? Just for the sake of it? I think
>>>>> renaming HMP commands is maybe ok, but breaking the API in QMP is something
>>>>> you should consider twice.
>
> I'm looking at how to include this command in the new "single binary".
>
> Markus explained in an earlier series, just expanding this command as
> stub to targets that don't implement it is not backward compatible and
> breaks QMP introspection. Currently on s390x we get a result, on other
> targets the command doesn't exist. If we add a stubs, then other targets
> return something (even if it is an empty list), confusing management
> interface.
Loss of introspection precision is a concern, not a hard "no".
We weigh all the concerns, and pick a solution we hate the least :)
> So this approach use to deprecate process to include a new command
> which behaves differently on non-s390x targets.
>
> If we don't care for this particular case, better. However I'd still
> like to discuss this approach for other target-specific commands.
>
>> PRO rename: the command's tie to S390 is them immediately obvious, which
>> may be useful when the command becomes available in qemu-systems capable
>> of running other targets.
>>
>> CON rename: users need to adapt.
>>
>> What are the users? Not libvirt, as far as I can tell.
>
> Years ago we said, "all HMP must be based on QMP".
In practice, it's closer to "HMP must be base on QMP when the
functionality does or should exist in QMP."
> Now we realize HMP
> became stable because QMP-exposed, although not consumed externally...
I'm afraid I didn't get this part.
> Does the concept of "internal QMP commands" makes sense for HMP debug
> ones? (Looking at a way to not expose them). We could use the "x-"
> prefix to not care about stable / backward compat, but what is the point
> of exposing to QMP commands that will never be accessed there?
>
>>>> That was going to be my question too. Seems like its possible to simply
>>>> stub out the existing command for other targets.
>>
>> That's going to happen whether we rename the commands or not.
>>
>>> Are these commands really supposed to be stable, or are they just debug
>>> commands? If they are debug, then add the x- and don't worry too much.
>
> OK.
>
>> docs/devel/qapi-code-gen.rst:
>>
>> Names beginning with ``x-`` used to signify "experimental". This
>> convention has been replaced by special feature "unstable".
>>
>> Feature "unstable" is what makes something unstable, and is what
>> machines should check.
>
> What I mentioned earlier could be 'Feature "internal" or "debug"'.
What's the difference to "unstable"?
>> An "x-" prefix may still be useful for humans. Machines should *not*
>> key on the prefix. It's unreliable anyway: InputBarrierProperties
>> member @x-origin is stable despite it's name. Renames to gain or lose
>> the prefix may or may not be worth the bother.
>
> Could follow the rules and be renamed as "origin-coordinate-x".
I don't think it's worth the trouble. The "x-" prefix is now strictly
for humans, and humans can figure out what the x- in @x-origin,
@y-origin means.
[...]
next prev parent reply other threads:[~2024-06-04 10:00 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-30 7:45 [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate Philippe Mathieu-Daudé
2024-05-30 7:45 ` [PATCH 1/4] hw/s390x: Introduce the @dump-s390-skeys QMP command Philippe Mathieu-Daudé
2024-05-30 7:45 ` [PATCH 2/4] hw/s390x: Introduce the 'dump_s390_skeys' HMP command Philippe Mathieu-Daudé
2024-05-30 7:45 ` [PATCH 3/4] hw/s390x: Deprecate the HMP 'dump_skeys' command Philippe Mathieu-Daudé
2024-05-30 7:45 ` [PATCH 4/4] hw/s390x: Deprecate the QMP @dump-skeys command Philippe Mathieu-Daudé
2024-05-31 4:49 ` Thomas Huth
2024-05-30 8:58 ` [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate Anton Johansson via
2024-05-31 4:47 ` Thomas Huth
2024-05-31 14:02 ` Dr. David Alan Gilbert
2024-05-31 16:23 ` Thomas Huth
2024-06-03 17:06 ` Dr. David Alan Gilbert
2024-06-03 12:18 ` Daniel P. Berrangé
2024-06-03 20:54 ` Dr. David Alan Gilbert
2024-06-04 4:58 ` Markus Armbruster
2024-06-04 9:45 ` Philippe Mathieu-Daudé
2024-06-04 9:59 ` Daniel P. Berrangé
2024-06-04 10:00 ` Markus Armbruster [this message]
2024-06-05 11:44 ` Dr. David Alan Gilbert
2024-06-10 5:20 ` Markus Armbruster
2024-06-27 16:46 ` Dr. David Alan Gilbert
2025-03-09 18:55 ` Pierrick Bouvier
2025-03-10 6:50 ` Thomas Huth
2025-03-10 9:11 ` Daniel P. Berrangé
2025-03-10 12:30 ` Dr. David Alan Gilbert
2025-03-09 18:44 ` Philippe Mathieu-Daudé
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=875xup81u9.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=anjo@rev.ng \
--cc=berrange@redhat.com \
--cc=borntraeger@linux.ibm.com \
--cc=cohuck@redhat.com \
--cc=dave@treblig.org \
--cc=david@redhat.com \
--cc=devel@lists.libvirt.org \
--cc=eblake@redhat.com \
--cc=farman@linux.ibm.com \
--cc=iii@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.