From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934027AbdKBSaf (ORCPT ); Thu, 2 Nov 2017 14:30:35 -0400 Received: from smtp-fw-33001.amazon.com ([207.171.190.10]:8420 "EHLO smtp-fw-33001.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933393AbdKBSad (ORCPT ); Thu, 2 Nov 2017 14:30:33 -0400 X-IronPort-AV: E=Sophos;i="5.44,335,1505779200"; d="scan'208";a="698647600" Date: Thu, 2 Nov 2017 11:27:38 -0700 From: Eduardo Valentin To: Waiman Long CC: Eduardo Valentin , Paolo Bonzini , , Matt Wilson , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , , "Peter Zijlstra" , , , , "Jan H . Schoenherr" , Anthony Liguori Subject: Re: [PATCHv2 1/1] locking/qspinlock/x86: Avoid test-and-set when PV_DEDICATED is set Message-ID: <20171102182738.GB27676@u40b0340c692b58f6553c.ant.amazon.com> References: <1509644731-2249-1-git-send-email-eduval@amazon.com> <6bd9aee8-1d9e-d088-d13d-653c0628b394@redhat.com> <20171102180854.GA27676@u40b0340c692b58f6553c.ant.amazon.com> <45bf1347-1d88-0c2c-77cb-a75da3b01149@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <45bf1347-1d88-0c2c-77cb-a75da3b01149@redhat.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Longman, On Thu, Nov 02, 2017 at 02:12:13PM -0400, Waiman Long wrote: > On 11/02/2017 02:08 PM, Eduardo Valentin wrote: > > On Thu, Nov 02, 2017 at 06:56:46PM +0100, Paolo Bonzini wrote: > >> On 02/11/2017 18:45, Eduardo Valentin wrote: > >>> Currently, the existing qspinlock implementation will fallback to > >>> test-and-set if the hypervisor has not set the PV_UNHALT flag. > >>> > >>> This patch gives the opportunity to guest kernels to select > >>> between test-and-set and the regular queueu fair lock implementation > >>> based on the PV_DEDICATED KVM feature flag. When the PV_DEDICATED > >>> flag is not set, the code will still fall back to test-and-set, > >>> but when the PV_DEDICATED flag is set, the code will use > >>> the regular queue spinlock implementation. > >> Have you seen Waiman's series that lets you specify this on the guest > >> command line instead? Would this be acceptable for your use case? > >> > > No, can you please share a link to it? is it already merged to tip/master? > > See https://lkml.org/lkml/2017/11/1/655 Oh I see, thanks. I think that patch would help, but I believe the series and this patch are complementary. Paolo, back to your question, I think this patch still makes sense in combination with Waiman's series for the following case: + * If this argument is not specified, the kernel will automatically choose + * an appropriate one depending on X86_FEATURE_HYPERVISOR and hypervisor + * specific settings. + */ In this case, the hypervisor can still flag PV_DEDICATED and the guest would not pick test&set, when that scenario is desirable. > > Cheers, > Longman > -- All the best, Eduardo Valentin