From patchwork Mon Feb 5 06:57:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Wanpeng Li X-Patchwork-Id: 10199921 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 2A16860247 for ; Mon, 5 Feb 2018 06:59:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1D67528649 for ; Mon, 5 Feb 2018 06:59:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1224D2862D; Mon, 5 Feb 2018 06:59:12 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2847F28649 for ; Mon, 5 Feb 2018 06:59:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752606AbeBEG7F (ORCPT ); Mon, 5 Feb 2018 01:59:05 -0500 Received: from mail-io0-f193.google.com ([209.85.223.193]:40259 "EHLO mail-io0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752450AbeBEG6t (ORCPT ); Mon, 5 Feb 2018 01:58:49 -0500 Received: by mail-io0-f193.google.com with SMTP id t22so29163087ioa.7; Sun, 04 Feb 2018 22:58:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pDP2U33WrUMX1+JVsANoZ+So0E0f4xwObCE6tvxlhH4=; b=J99REA8olqS7BMdmgsFMs2huQXL5iQswQ4c363HfhPzmQ+EHu6oV4hgPq2VgMNFEai f/qlldPG4TzyjbhvhnGzxaFveu77rov6UbqkAfwPzUpzsiyuml0EfRGdd6Ok7fLlLZue Qu3A3A8Ll1ekjyjUxUeptJHZuznOF4zFnOKl1/bAXdmvV6T6ejzdNAJGgxcx5dBmefOg Wy1pfkOAKvnCXGn9MfYzGcfVCJU7Kg35IiQ/jd2u0P6cE2lbbqikFOxfFreSTmwumlfd E4gcQzaxzHQn2aS6vyyb61Ob4qqFWToHHsYb61ZJTGdCfERn2AVxhjpRJLWWUOC5Lxvt 4KBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pDP2U33WrUMX1+JVsANoZ+So0E0f4xwObCE6tvxlhH4=; b=o4NcA939QaJZ388umJQzo/kYUu4wHVmi60uSXzb72q5aKM3z7KzwRceqXn8SNdeA/h p8tqYNBgQTjkJF5GqAPEMBpo55Ssed63kTZ69xiMkwTHKNZIMk7FR4FVM0qq1N4ww7rm cZKyrysQtXBH9RRcCzGvsVXyjyPTxHugEgU3M78+Oi3DUuLFIre9yrdCDavrtiamrFme iTIWNgnx5vpT/047sriuQHbRQOinWYLxnQ3d6P039WohItVe9h6Kn5rLVtN+gLHQlxR5 LnvYSAP9HNm/6r4Eh8GG7zzYQVliCmlD/wfAG1bYjhdx8OoqbZyfkxXp8ayzVMek+G+x p71A== X-Gm-Message-State: AKwxyteICBtf7StRXSmr7qJz2FblWanl286vXwQCbKiNYB+3ZlOGgAPC UCeDjdFTYJvf58jo7TFp+iHInQ== X-Google-Smtp-Source: AH8x225gowk0HQANfNb76UkXWEdf4kve2FtZUcdUFSri3n9E6q/7jTMdx9eIgcqZslNDp1cBDiSTEA== X-Received: by 10.107.17.211 with SMTP id 80mr52814164ior.11.1517813928947; Sun, 04 Feb 2018 22:58:48 -0800 (PST) Received: from localhost.localdomain ([203.205.141.123]) by smtp.googlemail.com with ESMTPSA id w132sm5096424iow.51.2018.02.04.22.58.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 04 Feb 2018 22:58:48 -0800 (PST) From: Wanpeng Li X-Google-Original-From: Wanpeng Li To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= Subject: [PATCH v2 2/2] KVM: X86: Avoid traversing all the cpus for pv tlb flush when steal time is disabled Date: Sun, 4 Feb 2018 22:57:58 -0800 Message-Id: <1517813878-22248-2-git-send-email-wanpengli@tencent.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517813878-22248-1-git-send-email-wanpengli@tencent.com> References: <1517813878-22248-1-git-send-email-wanpengli@tencent.com> MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Wanpeng Li 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čmář Signed-off-by: Wanpeng Li --- arch/x86/kernel/kvm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c index f2a09cf..4f3c997 100644 --- a/arch/x86/kernel/kvm.c +++ b/arch/x86/kernel/kvm.c @@ -546,7 +546,8 @@ static void __init kvm_guest_init(void) } if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && - !kvm_para_has_feature(KVM_FEATURE_PV_DEDICATED)) + !kvm_para_has_feature(KVM_FEATURE_PV_DEDICATED) && + kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) pv_mmu_ops.flush_tlb_others = kvm_flush_tlb_others; if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) @@ -635,7 +636,8 @@ static __init int kvm_setup_pv_tlb_flush(void) int cpu; if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && - !kvm_para_has_feature(KVM_FEATURE_PV_DEDICATED)) { + !kvm_para_has_feature(KVM_FEATURE_PV_DEDICATED) && + kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) { for_each_possible_cpu(cpu) { zalloc_cpumask_var_node(per_cpu_ptr(&__pv_tlb_mask, cpu), GFP_KERNEL, cpu_to_node(cpu));