From mboxrd@z Thu Jan 1 00:00:00 1970 From: Waiman Long Subject: Re: [PATCH v7 07/11] pvqspinlock, x86: Allow unfair queue spinlock in a XEN guest Date: Thu, 20 Mar 2014 23:40:08 -0400 Message-ID: <532BB498.8040900@hp.com> References: <1395260049-30839-1-git-send-email-Waiman.Long@hp.com> <1395260049-30839-8-git-send-email-Waiman.Long@hp.com> <20140319202814.GB11210@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20140319202814.GB11210@phenom.dumpdata.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Konrad Rzeszutek Wilk Cc: Jeremy Fitzhardinge , Raghavendra K T , kvm@vger.kernel.org, Peter Zijlstra , virtualization@lists.linux-foundation.org, Andi Kleen , "H. Peter Anvin" , Michel Lespinasse , Thomas Gleixner , linux-arch@vger.kernel.org, Gleb Natapov , x86@kernel.org, Ingo Molnar , xen-devel@lists.xenproject.org, "Paul E. McKenney" , Rik van Riel , Arnd Bergmann , Scott J Norton , Steven Rostedt , Chris Wright , Oleg Nesterov , Alok Kataria , Aswin Chandramouleeswaran , Chegu Vinod , Boris Ostrovsky List-Id: linux-arch.vger.kernel.org On 03/19/2014 04:28 PM, Konrad Rzeszutek Wilk wrote: > On Wed, Mar 19, 2014 at 04:14:05PM -0400, Waiman Long wrote: >> This patch adds a XEN init function to activate the unfair queue >> spinlock in a XEN guest when the PARAVIRT_UNFAIR_LOCKS kernel config >> option is selected. >> >> Signed-off-by: Waiman Long >> --- >> arch/x86/xen/setup.c | 19 +++++++++++++++++++ >> 1 files changed, 19 insertions(+), 0 deletions(-) >> >> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c >> index 0982233..66bb6f5 100644 >> --- a/arch/x86/xen/setup.c >> +++ b/arch/x86/xen/setup.c >> @@ -625,3 +625,22 @@ void __init xen_arch_setup(void) >> numa_off = 1; >> #endif >> } >> + >> +#ifdef CONFIG_PARAVIRT_UNFAIR_LOCKS >> +/* >> + * Enable unfair lock if running in a Xen guest >> + */ >> +static __init int xen_unfair_locks_init_jump(void) >> +{ >> + /* >> + * Disable unfair lock if not running in a PV domain >> + */ >> + if (!xen_pv_domain()) >> + return 0; > I would just make this 'xen_domain'. Not sure why you need > to have it only for PV while the PVHVM guests can also use it? The compilation of the setup.c file should have implied xen_domain already (at least HVM). The check is added to make sure that unfair lock won't be enabled on bare metal. As for PVHVM, is there a way to detect it is running as such which is distinct from HVM? > Would it also make sense to use the same printk statement > that the KVM has? > Yes, I can add a printk statement like KVM. -Longman