virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Waiman Long <waiman.long@hp.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: x86@kernel.org, Gleb Natapov <gleb@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	virtualization@lists.linux-foundation.org,
	Marcos Matsunaga <Marcos.Matsunaga@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	boris.ostrovsky@oracle.com, linux-arch@vger.kernel.org,
	kvm@vger.kernel.org,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	xen-devel@lists.xenproject.org,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Rik van Riel <riel@redhat.com>,
	Scott J Norton <scott.norton@hp.com>,
	Paolo Bonzini <paolo.bonzini@gmail.com>,
	Oleg Nesterov <oleg@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Aswin Chandramouleeswaran <aswin@hp.com>,
	Chegu Vinod <chegu_vinod@hp.com>,
	linux-kernel@vger.kernel.org,
	David Vrabel <david.vrabel@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH v8 00/10] qspinlock: a 4-byte queue spinlock with PV support
Date: Fri, 04 Apr 2014 13:13:17 -0400	[thread overview]
Message-ID: <533EE82D.4010303@hp.com> (raw)
In-Reply-To: <20140404165523.GP19478@phenom.dumpdata.com>

On 04/04/2014 12:55 PM, Konrad Rzeszutek Wilk wrote:
> On Thu, Apr 03, 2014 at 10:57:18PM -0400, Waiman Long wrote:
>> On 04/03/2014 01:23 PM, Konrad Rzeszutek Wilk wrote:
>>> On Wed, Apr 02, 2014 at 10:10:17PM -0400, Waiman Long wrote:
>>>> On 04/02/2014 04:35 PM, Waiman Long wrote:
>>>>> On 04/02/2014 10:32 AM, Konrad Rzeszutek Wilk wrote:
>>>>>> On Wed, Apr 02, 2014 at 09:27:29AM -0400, Waiman Long wrote:
>>>>>>> N.B. Sorry for the duplicate. This patch series were resent as the
>>>>>>>       original one was rejected by the vger.kernel.org list server
>>>>>>>       due to long header. There is no change in content.
>>>>>>>
>>>>>>> v7->v8:
>>>>>>>    - Remove one unneeded atomic operation from the slowpath, thus
>>>>>>>      improving performance.
>>>>>>>    - Simplify some of the codes and add more comments.
>>>>>>>    - Test for X86_FEATURE_HYPERVISOR CPU feature bit to enable/disable
>>>>>>>      unfair lock.
>>>>>>>    - Reduce unfair lock slowpath lock stealing frequency depending
>>>>>>>      on its distance from the queue head.
>>>>>>>    - Add performance data for IvyBridge-EX CPU.
>>>>>> FYI, your v7 patch with 32 VCPUs (on a 32 cpu socket machine) on an
>>>>>> HVM guest under Xen after a while stops working. The workload
>>>>>> is doing 'make -j32' on the Linux kernel.
>>>>>>
>>>>>> Completely unresponsive. Thoughts?
>>>>>>
>>>>> Thank for reporting that. I haven't done that much testing on Xen.
>>>>> My focus was in KVM. I will perform more test on Xen to see if I
>>>>> can reproduce the problem.
>>>>>
>>>> BTW, does the halting and sending IPI mechanism work in HVM? I saw
>>> Yes.
>>>> that in RHEL7, PV spinlock was explicitly disabled when in HVM mode.
>>>> However, this piece of code isn't in upstream code. So I wonder if
>>>> there is problem with that.
>>> The PV ticketlock fixed it for HVM. It was disabled before because
>>> the PV guests were using bytelocks while the HVM were using ticketlocks
>>> and you couldnt' swap in PV bytelocks for ticketlocks during startup.
>> The RHEL7 code has used PV ticketlock already. RHEL7 uses a single
>> kernel for all configurations. So PV ticketlock as well as Xen and
>> KVM support was compiled in. I think booting the kernel on bare
>> metal will cause the Xen code to work in HVM mode thus activating
>> the PV spinlock code which has a negative impact on performance.
> Huh? -EPARSE
>
>> That may be why it was disabled so that the bare metal performance
>> will not be impacted.
> I am not following you.

What I am saying is that when XEN and PV spinlock is compiled into the 
current upstream kernel, the PV spinlock jump label is turned on when 
booted on bare metal. In other words, the PV spinlock code is active 
even when they are not needed and actually slow thing down in that 
situation. This is a problem and we need to find way to make sure that 
the PV spinlock code won't be activated on bare metal.

-Longman

  reply	other threads:[~2014-04-04 17:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1396445259-27670-1-git-send-email-Waiman.Long@hp.com>
     [not found] ` <1396445259-27670-2-git-send-email-Waiman.Long@hp.com>
2014-04-04 13:00   ` [PATCH v8 01/10] qspinlock: A generic 4-byte queue spinlock implementation Peter Zijlstra
2014-04-04 14:59     ` Waiman Long
2014-04-04 17:53       ` Ingo Molnar
2014-04-07 14:16       ` Peter Zijlstra
2014-04-04 16:57     ` Konrad Rzeszutek Wilk
2014-04-04 17:08       ` Waiman Long
2014-04-04 17:54         ` Ingo Molnar
2014-04-07 14:09         ` Peter Zijlstra
2014-04-07 16:59           ` Waiman Long
2014-04-07 14:12       ` Peter Zijlstra
2014-04-07 14:33         ` Konrad Rzeszutek Wilk
     [not found] ` <20140402143201.GF12188@phenom.dumpdata.com>
     [not found]   ` <533C7485.3030203@hp.com>
2014-04-03  2:10     ` [PATCH v8 00/10] qspinlock: a 4-byte queue spinlock with PV support Waiman Long
2014-04-03 17:23       ` Konrad Rzeszutek Wilk
2014-04-04  2:57         ` Waiman Long
2014-04-04 16:55           ` Konrad Rzeszutek Wilk
2014-04-04 17:13             ` Waiman Long [this message]
2014-04-04 17:58               ` Konrad Rzeszutek Wilk
2014-04-04 18:33                 ` Konrad Rzeszutek Wilk
2014-04-04 18:14             ` Marcos E. Matsunaga
2014-04-04 15:25   ` Konrad Rzeszutek Wilk
2014-04-07  6:14 ` Raghavendra K T
     [not found] ` <5342425A.7040005@linux.vnet.ibm.com>
2014-04-07 16:38   ` Waiman Long
2014-04-07 17:51     ` Raghavendra K T
2014-04-08 19:15       ` Waiman Long
2014-04-09 12:08         ` Raghavendra K T
2014-04-01 20:47 Waiman Long

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=533EE82D.4010303@hp.com \
    --to=waiman.long@hp.com \
    --cc=Marcos.Matsunaga@oracle.com \
    --cc=aswin@hp.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=chegu_vinod@hp.com \
    --cc=david.vrabel@citrix.com \
    --cc=gleb@redhat.com \
    --cc=hpa@zytor.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=oleg@redhat.com \
    --cc=paolo.bonzini@gmail.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=raghavendra.kt@linux.vnet.ibm.com \
    --cc=riel@redhat.com \
    --cc=scott.norton@hp.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=x86@kernel.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).