From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934107AbdKBSn2 (ORCPT ); Thu, 2 Nov 2017 14:43:28 -0400 Received: from smtp-fw-6001.amazon.com ([52.95.48.154]:59113 "EHLO smtp-fw-6001.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933129AbdKBSn0 (ORCPT ); Thu, 2 Nov 2017 14:43:26 -0400 X-IronPort-AV: E=Sophos;i="5.44,335,1505779200"; d="scan'208";a="317128169" Date: Thu, 2 Nov 2017 11:43:11 -0700 From: Eduardo Valentin To: Paolo Bonzini CC: Eduardo Valentin , , Matt Wilson , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , , Peter Zijlstra , Waiman Long , , , , "Jan H . Schoenherr" , Anthony Liguori Subject: Re: [PATCHv2 1/1] locking/qspinlock/x86: Avoid test-and-set when PV_DEDICATED is set Message-ID: <20171102184311.GC27676@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> <39241f1f-1b88-709e-21b1-2019ad156b08@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <39241f1f-1b88-709e-21b1-2019ad156b08@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 On Thu, Nov 02, 2017 at 07:24:16PM +0100, Paolo Bonzini wrote: > On 02/11/2017 19:08, 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? > > [PATCH-tip v2 0/2] x86/paravirt: Enable users to choose PV lock type > https://lkml.org/lkml/2017/11/1/655 > > >> (In other words, is there a difference for you between making the host > >> vs. guest administrator toggle the feature? "@amazon.com" means you are > >> the host admin, how would you use it?) > > > > The way I think of this is this is a flag set by host side so the > > guest adapts accordingly. > > > > If the admin in guest side wants to ignore what the host is > > flagging, that is a different story. > > Okay, this makes sense. But perhaps it should be a separate CPUID leaf, > such as "configuration hints", rather than properly a feature. Oh OK, you don't think this starts to deviate from the feature concept. But would the PV_UNHALT also go to "configuration hints" bucket? Another way to see this is we have three locking feature options to select from, so we need at least two bits here. > > Paolo -- All the best, Eduardo Valentin