We've recently debugged a huge performance degradation we were getting
on a latency sensitive workload down to the fact that libvirt is
issuing query-cpus. As it turns out, query-cpus always interrupts all
vCPU threads so that they can run ioctl to collect a number of register
information, most of which are not even used by query-cpus at all.
This series adds a new command called query-cpus-fast, which returns
the most relevant information returned by query-cpus without having
to interrupt vCPU threads. This series also updates query-cpus
documentation to advise against its use in production.
More details in individual patches.
Luiz Capitulino (2):
qmp: add query-cpus-fast
qmp: document query-cpus performance issue
cpus.c | 44 ++++++++++++++++++++++++++++++
hmp-commands-info.hx | 14 ++++++++++
hmp.c | 24 +++++++++++++++++
hmp.h | 1 +
qapi-schema.json | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 158 insertions(+)
--
2.14.3