Received: by 10.223.185.116 with SMTP id b49csp169353wrg; Tue, 13 Feb 2018 19:04:24 -0800 (PST) X-Google-Smtp-Source: AH8x226CYDbjb2/FsQGjL//FAYTBon6w4aZePSetbSpjKYEO/b6MrWnXLVgL8i98aNo3YXlaJ640 X-Received: by 10.99.9.195 with SMTP id 186mr1306661pgj.152.1518577464587; Tue, 13 Feb 2018 19:04:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518577464; cv=none; d=google.com; s=arc-20160816; b=yGjB/1jRvkaNX5Qps4IaXh59LzQCG6jQK3MhQLHPrqTb5QPyccUj2g2hExFJN54Lca YGqRPr1oUjqEtfW9WGI9+2jW8gY8+YlXxVx09nOkX8Gkrh0k7lrj9E3QdwleBXXr7wNe FHBAXJZDDO6iOnsYGXUTeWjwj7xFK1oLVYuCpDRqPs2wQ0nv49gSk0Tc38dSd49QzUCF bVMw0aZc28JzPawCbUgN9BdrByrfu4X6fexVG25k2rRRIXbMWrC1v579IN7uv8g6BeGL BmmNbxSTbj67ORzODrkTVZBwe7ChJ5cXZb3mImtWNMIJDojdldPoaz96IOKITnL4n3Wq tZ3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:arc-authentication-results; bh=25WLzTkMTAK8oEyeJ/Iw2OiKxd09GcFbfxZ+rw9SzjQ=; b=kHmryhAqtg0IvDWXCAznF+uAVWoZgViCdOitghxycCWvTr+R/PkasV2HaawWRJssTF LtfrwvXLZSBEw9/NRITD5NL58q1zoNh1NYi8vZSFYWaM+Lu/ZmoeR2/gkpT1JQ4KtEY7 RnZ+v0vQ9D34um+35mlpx0/rXjPFHvL60ssz5hhr6UjoF7FqDTUsFvFuEAVflxpm5bt+ 0VRZXOa3eF/LUP074HsAIAy1uvz63YNF+kkFENSVmPGRf3FAGhKTSXz35wKvNYa27nuS NTOmPVGkL/VuawRqzJjXtyFg18ABl3k2S2vtdpZafwXpJETpbNTygz2P3Lpyoy70VYkK Nw4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=b8oAQRc2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a19si356187pfh.122.2018.02.13.19.04.09; Tue, 13 Feb 2018 19:04:24 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=b8oAQRc2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966640AbeBNDDb (ORCPT + 99 others); Tue, 13 Feb 2018 22:03:31 -0500 Received: from mail-ot0-f194.google.com ([74.125.82.194]:46398 "EHLO mail-ot0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966573AbeBNDDa (ORCPT ); Tue, 13 Feb 2018 22:03:30 -0500 Received: by mail-ot0-f194.google.com with SMTP id w10so5665776ote.13; Tue, 13 Feb 2018 19:03:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=25WLzTkMTAK8oEyeJ/Iw2OiKxd09GcFbfxZ+rw9SzjQ=; b=b8oAQRc2uRs0ZAZfCcP1gJpbu3mAhkqLQS1nq63Gm/hclxnl/eeffi7sLAebtT2fzm h5mF9ufqFjeJWwjAkxvBXyG4XCy0zClfK7c7KdFvqEGxGF74DlUYvZqZmVZX62eTcDzS fq/jfsGzzqEbmZkvxClfIembl77Gzm1DzDBYFJSCYQXM4f09GlIKuBGHFW8lmduHuKD6 /h/QmLOGObdIGIRQjhi1wa5lkSzbZABD4dDi3e2hmYVM1zWJukniNbnHSzlX+wKjkX+S zHyww30UvHkAO5Yse90FHFkYU4ZqYjp4QRasqrxp27+4xMF4jcI2JsQ4jMqWTivVUd+s wUYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=25WLzTkMTAK8oEyeJ/Iw2OiKxd09GcFbfxZ+rw9SzjQ=; b=cAWbJkvNHjhxy973IzcpPmCrLdFxujl+l8RJiURSoArAGXVi5Vbbc2C4j5BhqlBiMm bBLth/XmVu+ZfhBThuEvAuPyOwwRymZvEd55Cec5KL2gnNvenTF0mLUnd4gbdbzWaA/O NtC/oy9cU9LnySdP6HptRqImFmwz4IOYgT0OpTteeEbRPFVSqLY7mSEIeYQNrNOG9FMK G9I9I3B5k0hzZPR5CFXlteg7A2tOybf3uTCRv83x/BiItExs9/eJqzdbgKPH1hlBuYPv LQ/mEUIwjOK7Gj8mejynBrZp0M2TNz4OraN+4wrFg7ODqc6WdDg9Hp7b4GzGJGY2C/bt qJVA== X-Gm-Message-State: APf1xPAqLxmmFuX8z+aHC4UWONzCikFKNHuXvw8AhEBsKxQZZr1AAMdT NPmG8ckrGZd5zNjSgbtP0bZDhzMsGFcQ1dMzBdI= X-Received: by 10.157.22.221 with SMTP id s29mr2540627ots.115.1518577409614; Tue, 13 Feb 2018 19:03:29 -0800 (PST) MIME-Version: 1.0 Received: by 10.74.10.129 with HTTP; Tue, 13 Feb 2018 19:03:29 -0800 (PST) In-Reply-To: References: <1518483942-14741-1-git-send-email-wanpengli@tencent.com> <1518483942-14741-4-git-send-email-wanpengli@tencent.com> From: Wanpeng Li Date: Wed, 14 Feb 2018 11:03:29 +0800 Message-ID: Subject: Re: [PATCH v4 3/3] KVM: X86: Don't use PV TLB flush with dedicated vCPUs and steal time disabled To: Paolo Bonzini Cc: LKML , kvm , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Eduardo Habkost Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2018-02-14 0:12 GMT+08:00 Paolo Bonzini : > On 13/02/2018 02:05, Wanpeng Li wrote: >> From: Wanpeng Li >> >> vCPUs are very unlikely to get preempted when they are the only task >> running on a CPU. PV TLB flush is slower that the native flush in that >> case. In addition, avoid traversing all the cpus for pv tlb flush when >> steal time is disabled since pv tlb flush depends on the field in steal >> time for shared data. >> >> Cc: Paolo Bonzini >> Cc: Radim Kr=C4=8Dm=C3=A1=C5=99 >> Cc: Eduardo Habkost >> Signed-off-by: Wanpeng Li >> --- >> arch/x86/kernel/kvm.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c >> index c5566d9..285822f 100644 >> --- a/arch/x86/kernel/kvm.c >> +++ b/arch/x86/kernel/kvm.c >> @@ -545,7 +545,9 @@ static void __init kvm_guest_init(void) >> pv_time_ops.steal_clock =3D kvm_steal_clock; >> } >> >> - if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH)) >> + if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && >> + !kvm_para_has_feature(KVM_HINTS_DEDICATED) && >> + !kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) >> pv_mmu_ops.flush_tlb_others =3D kvm_flush_tlb_others; >> >> if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) >> @@ -638,7 +640,9 @@ static __init int kvm_setup_pv_tlb_flush(void) >> { >> int cpu; >> >> - if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH)) { >> + if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && >> + !kvm_para_has_feature(KVM_HINTS_DEDICATED) && > > This should have checked the hints word. > > In general, I'm going to change in the whole series > kvm_hint_has_feature with kvm_para_has_hint, and kvm_arch_hint_features > with kvm_arch_para_hints. But apart from this small naming issue, the > series looks good, and I'm applying it to kvm/queue. Thanks Paolo. Regards, Wanpeng Li