From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: heavy P2M lock contention on guest HPET counter reads Date: Wed, 30 Jul 2014 11:29:42 +0100 Message-ID: <53D8C916.1060908@citrix.com> References: <53D8E0540200007800027966@mail.emea.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XCR8l-0007xA-0F for xen-devel@lists.xenproject.org; Wed, 30 Jul 2014 10:29:47 +0000 In-Reply-To: <53D8E0540200007800027966@mail.emea.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich , Andres Lagar-Cavilla , Tim Deegan Cc: xen-devel List-Id: xen-devel@lists.xenproject.org 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