From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>,
Andres Lagar-Cavilla <andres@lagarcavilla.org>,
Tim Deegan <tim@xen.org>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: heavy P2M lock contention on guest HPET counter reads
Date: Wed, 30 Jul 2014 11:29:42 +0100 [thread overview]
Message-ID: <53D8C916.1060908@citrix.com> (raw)
In-Reply-To: <53D8E0540200007800027966@mail.emea.novell.com>
On 30/07/14 11:08, Jan Beulich wrote:
> Hi,
>
> with 40+ vCPU Win2012R2 guests we're observing apparent guest live
> locks. The 'd' debug key reveals more than half of the vCPU-s doing an
> inlined HPET main counter read from KeQueryPerformanceCounter(),
> resulting in all of them racing for the lock at the beginning of
> __get_gfn_type_access(). Assuming it is really necessary to always
> take the write lock (rather than just the read one) here, would it perhaps
> be reasonable to introduce a bypass in hvm_hap_nested_page_fault()
> for the HPET page similar to the LAPIC one?
>
> Thanks, Jan
We have received similar concerns about the emulation overhead of the
vhpet, but not with a guest that size.
One complication is that the HPET can optionally be emulated by qemu
based on an HVMPARAM, so the fastpath has to consider creating an
ioreq. (Frankly, I think this ability is completely mad, and I doubt
anyone would notice if it ceased to work. There is no reason to use
qemu's emulation in preference to Xen's, especially as Xen's emulatator
was copied from qemu at some point in the past)
Have you enabled with viridian extensions? Providing the TSC
enlightenments should cause Windows to completely ignore the vhpet.
~Andrew
next prev parent reply other threads:[~2014-07-30 10:29 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-30 10:08 heavy P2M lock contention on guest HPET counter reads Jan Beulich
2014-07-30 10:29 ` Andrew Cooper [this message]
2014-07-30 10:46 ` Jan Beulich
2014-07-30 14:22 ` Jan Beulich
2014-07-30 18:15 ` Andres Lagar Cavilla
2014-08-01 6:38 ` Jan Beulich
2014-08-02 2:33 ` Andres Lagar Cavilla
2014-08-04 7:00 ` Jan Beulich
2014-08-08 2:46 ` Andres Lagar Cavilla
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=53D8C916.1060908@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=andres@lagarcavilla.org \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.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).