All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Maksim Davydov <davydov-max@yandex-team.ru>
Cc: qemu-devel@nongnu.org,  vsementsov@yandex-team.ru,
	 eduardo@habkost.net, marcel.apfelbaum@gmail.com,
	 philmd@linaro.org,  wangyanan55@huawei.com, jsnow@redhat.com,
	 crosa@redhat.com,  bleal@redhat.com, eblake@redhat.com,
	 pbonzini@redhat.com,  berrange@redhat.com, alxndr@bu.edu,
	 bsd@redhat.com,  stefanha@redhat.com,  thuth@redhat.com,
	darren.kenny@oracle.com,  Qiuhao.Li@outlook.com,
	 lvivier@redhat.com
Subject: Re: [PATCH v6 2/4] qmp: add dump machine type compatible properties
Date: Mon, 18 Dec 2023 14:18:34 +0100	[thread overview]
Message-ID: <87o7ensl79.fsf@pond.sub.org> (raw)
In-Reply-To: <63dc1069-d3e9-4fb9-b553-7ffaf7a595f4@yandex-team.ru> (Maksim Davydov's message of "Wed, 13 Dec 2023 17:46:12 +0300")

Maksim Davydov <davydov-max@yandex-team.ru> writes:

> Thanks for reviewing
> Sorry for replying late
>
> On 12/1/23 12:49, Markus Armbruster wrote:
>> I apologize for the lateness of my review.
>>
>> Maksim Davydov <davydov-max@yandex-team.ru> writes:
>>
>>> To control that creating new machine type doesn't affect the previous
>>> types (their compat_props) and to check complex compat_props inheritance
>>> we need qmp command to print machine type compatible properties.
>>>
>>> This patch adds the ability to get list of all the compat_props of the
>>> corresponding supported machines for their comparison via new optional
>>> argument of "query-machines" command.
>>
>> Sounds like this is to let developers prevent unwanted change.  Such
>> testing interfaces need not and should not be stable interfaces.
>> Thoughts?
>
> I'm not sure that rightly understand your idea about unstable: do you mean
> that we can allow this interface to be not robust (e.g. compat-props in
> MachineInfo can be not presented) or that this is new thusit can be
> unstable?

It's about external interface stability: incompatible change requires
deprecation and a grace period.  See docs/about/deprecated.rst first
section.

QMP is a stable external interface, except for parts marked unstable.

In my review, I wondered whether the QMP interface you add needs to be
stable in that sense.  Does it?

If no, I'll gladly show you how to mark it unstable.

>>> Signed-off-by: Maksim Davydov <davydov-max@yandex-team.ru>
>>> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

[...]

>>> diff --git a/qapi/machine.json b/qapi/machine.json
>>> index b6d634b30d..8ca0c134a2 100644
>>> --- a/qapi/machine.json
>>> +++ b/qapi/machine.json

[...]

>>>  ##
>>>  # @query-machines:
>>>  #
>>>  # Return a list of supported machines
>>>  #
>>> +# @compat-props: if true return will contain information about machine type
>>> +#                compatible properties (since 8.2)
>>
>> "compatibility properties"
>>
>> Suppressing parts of the output makes sense only if it's fairly big.
>> How much additional compat-props output do you observe?
>
> now, there are 61 machines types, so this qmp command generates a 450KB JSON

Uff.

Recommend to explain this briefly in the commit message.  Something like
"Since information on compatibility properties can increase the command
output by a factor of 40, add an argument to enable it, default off."

Does make me wonder whether we want a separate command, though.

[...]



  reply	other threads:[~2023-12-18 13:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-08 15:38 [PATCH v6 0/4] compare machine type compat_props Maksim Davydov
2023-11-08 15:38 ` [PATCH v6 1/4] qom: add default value Maksim Davydov
2023-11-08 17:58   ` Philippe Mathieu-Daudé
2023-12-01  9:30   ` Markus Armbruster
2023-11-08 15:38 ` [PATCH v6 2/4] qmp: add dump machine type compatible properties Maksim Davydov
2023-12-01  9:49   ` Markus Armbruster
2023-12-13 14:46     ` Maksim Davydov
2023-12-18 13:18       ` Markus Armbruster [this message]
2023-11-08 15:38 ` [PATCH v6 3/4] python: add binary Maksim Davydov
2023-11-08 17:57   ` Philippe Mathieu-Daudé
2023-11-09 21:49   ` John Snow
2023-11-10  7:03   ` Philippe Mathieu-Daudé
2023-11-14 10:54     ` Maksim Davydov
2023-11-08 15:38 ` [PATCH v6 4/4] scripts: add script to compare compatible properties Maksim Davydov
2023-12-01  9:51   ` Markus Armbruster
2023-12-13 14:48     ` Maksim Davydov
2023-12-18 13:19       ` Markus Armbruster
2024-01-08 23:43         ` John Snow
2023-12-01 11:04 ` [PATCH v6 0/4] compare machine type compat_props Philippe Mathieu-Daudé
2023-12-01 13:00   ` Markus Armbruster

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=87o7ensl79.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=Qiuhao.Li@outlook.com \
    --cc=alxndr@bu.edu \
    --cc=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=bsd@redhat.com \
    --cc=crosa@redhat.com \
    --cc=darren.kenny@oracle.com \
    --cc=davydov-max@yandex-team.ru \
    --cc=eblake@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=jsnow@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=thuth@redhat.com \
    --cc=vsementsov@yandex-team.ru \
    --cc=wangyanan55@huawei.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.