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