From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933807AbdKBSY1 (ORCPT ); Thu, 2 Nov 2017 14:24:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38708 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752105AbdKBSYZ (ORCPT ); Thu, 2 Nov 2017 14:24:25 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 4EC785D68B Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=pbonzini@redhat.com Subject: Re: [PATCHv2 1/1] locking/qspinlock/x86: Avoid test-and-set when PV_DEDICATED is set To: Eduardo Valentin Cc: rkrcmar@redhat.com, Matt Wilson , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Peter Zijlstra , Waiman Long , kvm@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, "Jan H . Schoenherr" , Anthony Liguori References: <1509644731-2249-1-git-send-email-eduval@amazon.com> <6bd9aee8-1d9e-d088-d13d-653c0628b394@redhat.com> <20171102180854.GA27676@u40b0340c692b58f6553c.ant.amazon.com> From: Paolo Bonzini Message-ID: <39241f1f-1b88-709e-21b1-2019ad156b08@redhat.com> Date: Thu, 2 Nov 2017 19:24:16 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171102180854.GA27676@u40b0340c692b58f6553c.ant.amazon.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 02 Nov 2017 18:24:25 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Paolo