(+ 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(+)


Reply via email to