On 08.02.2018 08:41, Viktor Mihajlovski wrote:
> On 07.02.2018 18:50, Luiz Capitulino wrote:
>> The query-cpus command has an extremely serious side effect:
>> it always interrupt all running vCPUs so that they can run
>> ioctl calls. This can cause a huge performance degradation for
>> some workloads. And most of the information retrieved by the
>> ioctl calls are not even used by query-cpus.
>> This commit introduces a replacement for query-cpus called
>> query-cpus-fast, which has the following features:
>>  o Never interrupt vCPUs threads. query-cpus-fast only returns
>>    vCPU information maintained by QEMU itself, which should be
>>    sufficient for most management software needs
>>  o Make "halted" field optional: we only return it if the
>>    halted state is maintained by QEMU. But this also gives
>>    the option of dropping the field in the future (see below)
>>  o Drop irrelevant fields such as "current", "pc" and "arch"
> I disagree that arch is irrelevant and would strongly suggest to keep
> arch and arch-specific fields. At least in the case of s390 there's a
> cpu_state field that can be obtained cheaply.
I've posted a patch [1] to add s390-specific state info to the
query-cpus output. This state *can* be obtained without kicking the CPU
out of VM execution. With this info in the query-cpus-fast return data
we can eventually get rid of halted and its ramifications.

[1] https://lists.gnu.org/archive/html/qemu-devel/2018-02/msg02032.html
 Viktor Mihajlovski

Reply via email to