(+ Daniel and Markus)
Thank you Paolo,
I'm in the midst of implementing various API changes as requested by Daniel [1]
and was planning to send out v3 this week. Could you please take a look at his
response and comment on the proposal? Or, perhaps I should publish v3 (based on
Daniel's proposal) and you could review that? Please let me know your preference.
Thanks/regards,
-Mark
[1] https://lore.kernel.org/qemu-devel/ya+rlex1dju%2f1...@redhat.com/
<https://lore.kernel.org/qemu-devel/ya+rlex1dju%2f1...@redhat.com/>
On 1/15/2022 10:22 AM, Paolo Bonzini wrote:
On 11/19/21 20:51, Mark Kanda wrote:
v2: [Paolo]
- generalize the interface
- add support for querying stat schema and instances
- add additional HMP semantic processing for a few exponent/unit
combinations (related to seconds and bytes)
This patchset adds QEMU support for querying fd-based KVM stats. The
kernel support was introduced by:
cb082bfab59a ("KVM: stats: Add fd-based API to read binary stats data")
Hi Mark,
sorry for the late review. Fortunately there's very little that I'd change.
In particular:
* please change the callbacks to accept a NULL name and type, instead of
having the "bool"/"const char *" pair. You can probably benefit from a
function to cutils.c like
bool qemu_match_string(const char *value, const char *request) {
return !request || g_str_equal(value, request);
}
* please pass a single const struct to add_stats_callbacks, using GList so
that the struct can be const.
Putting both together it would be something like:
typedef struct StatsCallbacks {
char *name;
StatsList *(*get_values)(StatsList *list, const char *name,
const char *type, Error **errp);
StatsSchemaList *(*get_schemas)(StatsSchemaList *list,
const char *name, Error **errp);
StatsInstanceList *(*get_instances)(StatsInstanceList *list,
Error **errp);
} StatsCallbacks;
Finally, please put everything in a new header include/monitor/stats.h, so
that we can document everything and please it in docs/devel. I can take care
of that though.
Thanks,
Paolo
Mark Kanda (3):
qmp: Support for querying stats
hmp: Support for querying stats
kvm: Support for querying fd-based stats
accel/kvm/kvm-all.c | 399 ++++++++++++++++++++++++++++++++++++++
hmp-commands-info.hx | 40 ++++
include/monitor/hmp.h | 3 +
include/monitor/monitor.h | 27 +++
monitor/hmp-cmds.c | 125 ++++++++++++
monitor/qmp-cmds.c | 71 +++++++
qapi/misc.json | 142 ++++++++++++++
7 files changed, 807 insertions(+)