From: Markus Armbruster <armbru@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, mark.kanda@oracle.com,
berrange@redhat.com, dgilbert@redhat.com
Subject: Re: [PATCH 1/8] qmp: Support for querying stats
Date: Fri, 13 May 2022 15:10:39 +0200 [thread overview]
Message-ID: <87ee0xy3w0.fsf@pond.sub.org> (raw)
In-Reply-To: <e7056663-6f22-e0ec-679a-3f474df05788@redhat.com> (Paolo Bonzini's message of "Thu, 5 May 2022 15:58:37 +0200")
Paolo Bonzini <pbonzini@redhat.com> writes:
> On 5/5/22 15:28, Markus Armbruster wrote:
>> Double-checking (pardon my ignorance): we're basically exposing the host
>> kernel's KVM stats via QMP, with the option of extending it to other
>> sources of stats in the future. Correct?
>
> Yes. As long as KVM is the only source, it's basically an opaque 1:1
> mapping of what the kernel gives.
I'd like this to be captured in documentation and / or a commit message,
because ...
>> I think the argument for accepting the interface is basically "if it's
>> good enough for the kernel, it's good enough for us". Valid point.
>
> Also, it was designed from the beginning to be extensible to other
> _kernel_ subsystems as well; i.e. it's not virt-specific in any way.
>
> There is one important point: theoretically, stats names are not part
> of the kernel API. In practice, you know what the chief penguin
> thinks of breaking userspace and anyway I don't think any of the stats
> have ever been removed when they were in debugfs (which makes them
> even less of a stable API).
>
> For a similar situation see https://lwn.net/Articles/737530/: kernel
> developers hate that tracepoints are part of the stable API, but in
> practice they are (and stats are much harder to break than
> tracepoints, if it's worth exposing them to userspace in the first
> place).
>
>> This means we'll acquire yet another introspection system, unrelated to
>> the introspection systems we already have in QEMU.
... ^^^ needs justification. Explain why passing the kernel's
existing interface through QEMU is useful, and to whom.
>> There is overlap. Quite a few query- commands return stats. Should
>> they be redone as statistics provides in this new introspection system?
>
> I think so, potentially all of them can be moved. Whether it is worth
> doing it is another story.
>
> In addition, query-stats provides a home for TCG statistics that
> currently QMP exposes only via x- commands; they can be added without
> having to design the whole QAPI thing, and with a slightly less strong
> guarantee of stability.
How strong do we feel about the stability of the stats exposed by this
command? Separate answers for *structure* of the stats and concrete
stats.
If we're confident neither structure nor concrete stats will change
incompatibly, the commands are stable without reservations.
If we're confident the structure is stable, but unable or unwilling to
commit to the concrete stats, we should explain this in documentation.
If we're unsure about both, the commands should be marked unstable. We
can always upgrade stability later.
[...]
next prev parent reply other threads:[~2022-05-13 13:12 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-26 14:16 [PATCH 0/8] qmp, hmp: statistics subsystem and KVM suport Paolo Bonzini
2022-04-26 14:16 ` [PATCH 1/8] qmp: Support for querying stats Paolo Bonzini
2022-04-27 9:19 ` Dr. David Alan Gilbert
2022-04-27 12:10 ` Paolo Bonzini
2022-05-04 13:22 ` Markus Armbruster
2022-05-05 7:10 ` Paolo Bonzini
2022-05-05 8:00 ` Daniel P. Berrangé
2022-05-05 13:28 ` Markus Armbruster
2022-05-05 13:39 ` Daniel P. Berrangé
2022-05-05 17:21 ` Dr. David Alan Gilbert
2022-05-05 13:58 ` Paolo Bonzini
2022-05-13 13:10 ` Markus Armbruster [this message]
2022-05-13 13:57 ` Paolo Bonzini
2022-05-13 14:35 ` Markus Armbruster
2022-05-13 15:50 ` Paolo Bonzini
2022-05-13 17:47 ` Markus Armbruster
2022-04-26 14:16 ` [PATCH 2/8] kvm: Support for querying fd-based stats Paolo Bonzini
2022-04-26 14:16 ` [PATCH 3/8] qmp: add filtering of statistics by target vCPU Paolo Bonzini
2022-05-05 13:45 ` Markus Armbruster
2022-05-05 13:59 ` Paolo Bonzini
2022-04-26 14:16 ` [PATCH 4/8] hmp: add basic "info stats" implementation Paolo Bonzini
2022-04-26 14:16 ` [PATCH 5/8] qmp: add filtering of statistics by provider Paolo Bonzini
2022-04-26 14:16 ` [PATCH 6/8] hmp: " Paolo Bonzini
2022-04-26 14:16 ` [PATCH 7/8] qmp: add filtering of statistics by name Paolo Bonzini
2022-04-27 12:01 ` Dr. David Alan Gilbert
2022-04-27 12:18 ` Paolo Bonzini
2022-04-27 12:34 ` Dr. David Alan Gilbert
2022-04-27 14:17 ` Paolo Bonzini
2022-04-27 15:16 ` Dr. David Alan Gilbert
2022-04-27 15:50 ` Paolo Bonzini
2022-04-27 17:16 ` Dr. David Alan Gilbert
2022-04-28 9:53 ` Paolo Bonzini
2022-04-26 14:16 ` [PATCH 8/8] hmp: " Paolo Bonzini
-- strict thread matches above, loose matches on Subject: below --
2022-05-23 15:05 [PATCH v4 0/8] qmp, hmp: statistics subsystem and KVM suport Paolo Bonzini
2022-05-23 15:07 ` [PATCH 1/8] qmp: Support for querying stats Paolo Bonzini
2022-05-24 10:41 ` Markus Armbruster
2022-05-24 16:47 ` Paolo Bonzini
2022-05-24 12:20 ` 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=87ee0xy3w0.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=mark.kanda@oracle.com \
--cc=pbonzini@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 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.