From mboxrd@z Thu Jan 1 00:00:00 1970 From: Waiman Long Subject: Re: [PATCH v7 06/11] pvqspinlock, x86: Allow unfair queue spinlock in a KVM guest Date: Fri, 21 Mar 2014 17:27:36 -0400 Message-ID: <532CAEC8.6080105@hp.com> References: <1395260049-30839-1-git-send-email-Waiman.Long@hp.com> <1395260049-30839-7-git-send-email-Waiman.Long@hp.com> <532B6543.7050707@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <532B6543.7050707@redhat.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: Paolo Bonzini Cc: Jeremy Fitzhardinge , Raghavendra K T , kvm@vger.kernel.org, Peter Zijlstra , virtualization@lists.linux-foundation.org, Andi Kleen , "H. Peter Anvin" , Michel Lespinasse , Alok Kataria , linux-arch@vger.kernel.org, Gleb Natapov , x86@kernel.org, Ingo Molnar , xen-devel@lists.xenproject.org, "Paul E. McKenney" , Arnd Bergmann , Scott J Norton , Steven Rostedt , Chris Wright , Thomas Gleixner , Aswin Chandramouleeswaran , Chegu Vinod , Boris Ostrovsky , Oleg Nesterov , linux-kernel@vger. List-Id: linux-arch.vger.kernel.org On 03/20/2014 06:01 PM, Paolo Bonzini wrote: > Il 19/03/2014 21:14, Waiman Long ha scritto: >> This patch adds a KVM init function to activate the unfair queue >> spinlock in a KVM guest when the PARAVIRT_UNFAIR_LOCKS kernel config >> option is selected. >> >> Signed-off-by: Waiman Long >> --- >> arch/x86/kernel/kvm.c | 17 +++++++++++++++++ >> 1 files changed, 17 insertions(+), 0 deletions(-) >> >> diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c >> index 713f1b3..a489140 100644 >> --- a/arch/x86/kernel/kvm.c >> +++ b/arch/x86/kernel/kvm.c >> @@ -826,3 +826,20 @@ static __init int kvm_spinlock_init_jump(void) >> early_initcall(kvm_spinlock_init_jump); >> >> #endif /* CONFIG_PARAVIRT_SPINLOCKS */ >> + >> +#ifdef CONFIG_PARAVIRT_UNFAIR_LOCKS >> +/* >> + * Enable unfair lock if running in a real para-virtualized environment >> + */ >> +static __init int kvm_unfair_locks_init_jump(void) >> +{ >> + if (!kvm_para_available()) >> + return 0; >> + >> + static_key_slow_inc(¶virt_unfairlocks_enabled); >> + printk(KERN_INFO "KVM setup unfair spinlock\n"); >> + >> + return 0; >> +} >> +early_initcall(kvm_unfair_locks_init_jump); >> +#endif >> > > No! Please do what I asked you to do. You are not handling Hyper-V > or VMWare. Just use X86_FEATURE_HYPERVISOR and it will cover all > hypervisors that actually follow Intel's guidelines. > > Paolo OK, I can modify the patch to use X86_FEATURE_HYPERVISOR. -Longman