qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
To: Luiz Capitulino <lcapitulino@redhat.com>, qemu-devel@nongnu.org
Cc: armbru@redhat.com, Christian Borntraeger <borntraeger@de.ibm.com>,
	ehabkost@redhat.com
Subject: Re: [Qemu-devel] [PATCH 1/2] qmp: add query-cpus-fast
Date: Thu, 8 Feb 2018 11:13:28 +0100	[thread overview]
Message-ID: <cad670ad-e20c-dc6e-7d1c-65f2c9f6fd5d@linux.vnet.ibm.com> (raw)
In-Reply-To: <5cb72a0b-5ff0-42ab-d992-ccdd2a565cfa@linux.vnet.ibm.com>

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
-- 
Regards,
 Viktor Mihajlovski

  reply	other threads:[~2018-02-08 10:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07 17:50 [Qemu-devel] [PATCH 0/2] qmp: add query-cpus-fast Luiz Capitulino
2018-02-07 17:50 ` [Qemu-devel] [PATCH 1/2] " Luiz Capitulino
2018-02-07 18:49   ` Eric Blake
2018-02-08  7:41   ` Viktor Mihajlovski
2018-02-08 10:13     ` Viktor Mihajlovski [this message]
2018-02-08 13:59     ` Luiz Capitulino
2018-02-08 19:59   ` Eduardo Habkost
2018-02-08 20:59     ` Eric Blake
2018-02-08 21:41       ` Eduardo Habkost
2018-02-09  8:13         ` Viktor Mihajlovski
2018-02-07 17:50 ` [Qemu-devel] [PATCH 2/2] qmp: document query-cpus performance issue Luiz Capitulino
2018-02-07 18:50   ` Eric Blake
2018-02-07 19:14     ` Luiz Capitulino
2018-02-08  9:29   ` Daniel P. Berrangé
2018-02-08 14:00     ` Luiz Capitulino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cad670ad-e20c-dc6e-7d1c-65f2c9f6fd5d@linux.vnet.ibm.com \
    --to=mihajlov@linux.vnet.ibm.com \
    --cc=armbru@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=ehabkost@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).