Received: by 10.223.176.46 with SMTP id f43csp1195810wra; Fri, 26 Jan 2018 13:36:45 -0800 (PST) X-Google-Smtp-Source: AH8x225ku9BXoR/ROY9EtU7W0LwZVMHuTvpHl+L3C1ECygD31dcm4RA0p2rYDpcu3SFdce1huaeD X-Received: by 2002:a17:902:860a:: with SMTP id f10-v6mr15127174plo.292.1517002605748; Fri, 26 Jan 2018 13:36:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517002605; cv=none; d=google.com; s=arc-20160816; b=u86fGxGEWNegZ2F5LpTGf/DMclky8/ybLvH8Isz+VFRUOBDdL7qkoTbIzW8dgLHsIy v/bSLf5DhjHOOOFHTKi/Dqns/VXrCr/fcL4RsQhlYicjd+gjwj6zWi6Z9CWNGtowT5Jb az+29cMRH8Auyl4LRFmlufwt26tq47NWhf6eX/UEPOyVWpzKbiUgQi9bOKmgxD1fobHE eZsM5nIV3doKWkdidQs3+GCD06qNMK7duxZypuIii/tCeHqOlfh2QoC4ZQQ/O+KUl9BY RoRit0NZpfU+BcX30oikahCkKbxhbjkejCPe/qJ01TEGc5zZx/Ik7/SN0rsHeWoYgzKe wjYw== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:arc-authentication-results; bh=/KFB6givQdIbeay+Qgsqr69y75tdKCStm9lIunVQlxE=; b=XybDZp9Qc8hAsiOvtnxbQGmByApXefe+ArcMcdQvZ+94ly+Zk3EQLJLmJ8a0df+2ci SEOAV+7pwicwnFg2Jg6+NRwWOdG/14t8rQdsWmbV06Qk9FneMzxR9nBBdHIIqSa720Ol DKMG6sfgurwQzA/DQpdAKn3NQ78lxGfWLWJLJERkHzXMTj83ohthDCfxF2mQ1mQ4SyYY cVPzwSpOI+5GdA/jv5MOSmdHUl219Xsf8LI/lo/5i7PoAHYcMTRtn5daGKO4Gcfvq7vu pdF0asr15oq/ZXjitdlOcvP4zuePBPEPFywQdcbP9govvpLS75U9NkuifYJZPqZH9ZUn DLnA== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h10si3475080pgq.28.2018.01.26.13.36.31; Fri, 26 Jan 2018 13:36:45 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751742AbeAZVgH (ORCPT + 99 others); Fri, 26 Jan 2018 16:36:07 -0500 Received: from mga03.intel.com ([134.134.136.65]:37770 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751249AbeAZVgG (ORCPT ); Fri, 26 Jan 2018 16:36:06 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jan 2018 13:36:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,418,1511856000"; d="scan'208";a="13770990" Received: from schen9-desk3.jf.intel.com (HELO [10.54.74.42]) ([10.54.74.42]) by orsmga006.jf.intel.com with ESMTP; 26 Jan 2018 13:36:06 -0800 Subject: Re: [PATCH v5 7/7] x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support To: David Woodhouse , arjan@linux.intel.com, tglx@linutronix.de, karahmed@amazon.de, x86@kernel.org, linux-kernel@vger.kernel.org, bp@alien8.de, peterz@infradead.org, pbonzini@redhat.com, ak@linux.intel.com, torvalds@linux-foundation.org, gregkh@linux-foundation.org, dave.hansen@intel.com, gnomes@lxorguk.ukuu.org.uk, ashok.raj@intel.com, mingo@kernel.org References: <1516896855-7642-1-git-send-email-dwmw@amazon.co.uk> <1516896855-7642-8-git-send-email-dwmw@amazon.co.uk> From: Tim Chen Message-ID: <85fc729e-6ff6-3a13-481c-2e0e11407225@linux.intel.com> Date: Fri, 26 Jan 2018 13:36:05 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: <1516896855-7642-8-git-send-email-dwmw@amazon.co.uk> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/25/2018 08:14 AM, David Woodhouse wrote: > > diff --git a/arch/x86/include/asm/nospec-branch.h b/arch/x86/include/asm/nospec-branch.h > index 4ad4108..34e384c 100644 > --- a/arch/x86/include/asm/nospec-branch.h > +++ b/arch/x86/include/asm/nospec-branch.h > @@ -218,5 +218,18 @@ static inline void vmexit_fill_RSB(void) > #endif > } > > +static inline void indirect_branch_prediction_barrier(void) > +{ > + asm volatile(ALTERNATIVE("", > + "movl %[msr], %%ecx\n\t" > + "movl %[val], %%eax\n\t" > + "movl $0, %%edx\n\t" > + "wrmsr", > + X86_FEATURE_IBPB) > + : : [msr] "i" (MSR_IA32_PRED_CMD), > + [val] "i" (PRED_CMD_IBPB) > + : "eax", "ecx", "edx", "memory"); With Peter's fixing of paravirt's indirect call for wrmsr, (https://patchwork.kernel.org/patch/10173547/) we don't have to worry about indirect call in wrmsr anymore. Can we use regular wrmsr here? It will make IBPB tracing straightforward using the MSR tracepoints. Tim