Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp7326241imm; Mon, 21 May 2018 00:22:56 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoev+U5Ab5eD4PNzS6qyf1uvPnnHLb8lkvphjGGBEWUtHegTjbFrHhq2frvml/cAqm8T0dl X-Received: by 2002:a63:6e8e:: with SMTP id j136-v6mr15190211pgc.450.1526887376642; Mon, 21 May 2018 00:22:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526887376; cv=none; d=google.com; s=arc-20160816; b=rO/xVS+xJrMcKwDveVKKtqK877StjoPaQlLJXKCNoVeP+3F9cW8BOT876lW6XaCxwN hFaOHvDqA+WUNcLoIUZeecAUVNITJ9p+ssh6Hd64zcImmqQVCF28UqFypUWCjIemYAfb KpZyuFxANCZXq/hf7CmGqSFUxPIvyono8XJWiO75Nw9OAQAim63/K0Pklzzcw7iRBJqc rSjqWl6JOM5dzMSrPwzvjlBxRyI/MrZCcttAjpB5keQusHqqzXGjlPMZULd8BaYwB1Th dIaN7W7iuHPPprNFlt80sdCwq5QGSciT4O08qSwj0w4XRo6VESTOTDRp97Ya0TrkDfTk D9vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=NtYHv+YbVHX93JZ3h+JOcmTqND1xmBlxp9QiiUmPZr0=; b=PYocRzPHEgYqRpdVs5BHbps7mbhpZhQw7ra5bRzNJq1zR9WAI16uA4XjLMnTcqml/n 4xy/MCdDFNjGYNkytlQwpVarzO8VPnkCg9PI7ghQ4rB2XpZ0TqRxuEAkUF+fNGZNSz2e WrxSe2FaDBbVirOiNBwNMRbXef6zLrpNvyl0bhKCYOiI49ls0IkDhbZyXqZ8mQgF7uZP o6+R3TauOxBmKuYI4zVmW2/1LgPt3p9vMtgVK9hmy6fY1bpv7ZYvHOBPeoiwjfNEB0yy KuRvvvLwzF96WqgZeLt/sX8LWkWhIMFn9T07yBugZgpGFYNLjWtqG5nA7ncwNkcnilm4 Pwag== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k18-v6si6814658pgf.125.2018.05.21.00.22.41; Mon, 21 May 2018 00:22:56 -0700 (PDT) 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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751054AbeEUHW3 (ORCPT + 99 others); Mon, 21 May 2018 03:22:29 -0400 Received: from mga01.intel.com ([192.55.52.88]:23127 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750867AbeEUHW1 (ORCPT ); Mon, 21 May 2018 03:22:27 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 May 2018 00:22:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,426,1520924400"; d="scan'208";a="56096309" Received: from dst.sh.intel.com ([10.239.48.156]) by fmsmga004.fm.intel.com with ESMTP; 21 May 2018 00:22:25 -0700 From: Jingqi Liu To: kvm@vger.kernel.org Cc: pbonzini@redhat.com, rkrcmar@redhat.com, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, linux-kernel@vger.kernel.org, wei.w.wang@intel.com, Jingqi Liu Subject: [PATCH RESEND] KVM: x86: Expose CLDEMOTE CPU feature to guest VM Date: Tue, 22 May 2018 17:01:27 +0800 Message-Id: <1526979687-1262-1-git-send-email-jingqi.liu@intel.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The CLDEMOTE instruction hints to hardware that the cache line that contains the linear address should be moved("demoted") from the cache(s) closest to the processor core to a level more distant from the processor core. This may accelerate subsequent accesses to the line by other cores in the same coherence domain, especially if the line was written by the core that demotes the line. This patch exposes the cldemote feature to the guest. The release document ref below link: https://software.intel.com/sites/default/files/managed/c5/15/\ architecture-instruction-set-extensions-programming-reference.pdf This patch has a dependency on https://lkml.org/lkml/2018/4/23/928 Signed-off-by: Jingqi Liu --- arch/x86/kvm/cpuid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 82055b9..72d8c49 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -403,7 +403,8 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, const u32 kvm_cpuid_7_0_ecx_x86_features = F(AVX512VBMI) | F(LA57) | F(PKU) | 0 /*OSPKE*/ | F(AVX512_VPOPCNTDQ) | F(UMIP) | F(AVX512_VBMI2) | F(GFNI) | - F(VAES) | F(VPCLMULQDQ) | F(AVX512_VNNI) | F(AVX512_BITALG); + F(VAES) | F(VPCLMULQDQ) | F(AVX512_VNNI) | F(AVX512_BITALG) | + F(CLDEMOTE); /* cpuid 7.0.edx*/ const u32 kvm_cpuid_7_0_edx_x86_features = -- 1.8.3.1