Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp5292608pxj; Wed, 9 Jun 2021 13:59:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1CqSuOnljJtue2BJuDBst/PQh9R+9A+83XP1zC9pJYv/rK1lERQ5Dakmsgelj/9zrN0nj X-Received: by 2002:a17:906:56ca:: with SMTP id an10mr1543050ejc.328.1623272345542; Wed, 09 Jun 2021 13:59:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623272345; cv=none; d=google.com; s=arc-20160816; b=l1HPCgE8Q7W/Wfn2iFalPVt0JHu1Eo1pAY4+GqHTUiTWUv59IWXup2ZR1Re2zV8rVD W3tPMIWILj59jfW2Pa2bK+cJnfsaWDUa98XXTVez8A5YIFeZbq9cqWm8qS0d5u7vaYD8 pe/vM8qh0F7oR9EAUVYeUNJlsOvD/GaLsWsGSWaBjD3niVnoxQX7z5lgHges1w1+dzut qmRC8U9YDIq/JEzmrkRDmWRJj2utw3lrgKClnH9Esk8YptfD4wWcueKbDUz7CKv8TmhQ FYhfkIjGGI09NfLy/tFwUTwkkRHMkbain+m8XKloZW11uSbqWeHv0ss8WOFnzLmH0gxz BM9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-disposition :mime-version:message-id:subject:cc:to:from:date:ironport-sdr :ironport-sdr; bh=ftFTMvsiIMq7qTj+KIetoR3DPEpDYm7Kf3+KAgEptoo=; b=MjdyGbilGLeIDIpXQERGzdPEYrtxK+CHlfUWwG54Ezff39TBL6LgPsgPnAeWBd1yhT HUc/BMcQD7cBFsFJal+jnQrEITpkKmnH8nfXfbW6vbNZGDqQZ4B/XCziYY/II04OAWD/ 7T1srPFD/BPLwcRfhWGQd3SI3YBeSF4Dl7oGi0fUwahZ4UMoeZqf7pyA+xx+uYfl9Fr3 rqoe/Eac5nG8LPnmNhXuHV5C19Fj1wJOZbNEPVtO49SLP63yoLcK6EVzIzbYSwuPoxoQ SAMUdWQZkxGHvHkg0ZW44AzSjB/MVT/LRBXHm+BA1wsPYkpBvjAC1AD250xgFeD/TDJz 8zWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id jz5si763641ejb.22.2021.06.09.13.58.41; Wed, 09 Jun 2021 13:59:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S229941AbhFIU6u (ORCPT + 99 others); Wed, 9 Jun 2021 16:58:50 -0400 Received: from mga02.intel.com ([134.134.136.20]:12142 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229527AbhFIU6u (ORCPT ); Wed, 9 Jun 2021 16:58:50 -0400 IronPort-SDR: HD3Zh19AtBXSCfafk4SypDMqumD5qWpFRTUMw60qd5qubDcrJbV7kjc4pmFiTdZKGsmgGV+t/i tWUYotAi0Bzw== X-IronPort-AV: E=McAfee;i="6200,9189,10010"; a="192277612" X-IronPort-AV: E=Sophos;i="5.83,261,1616482800"; d="scan'208";a="192277612" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2021 13:56:53 -0700 IronPort-SDR: Ffi2XUDy+iYMJrIzCWv3mR7Pf88GSUoUxDTgwJTrUJkmVMt/EUQ0FtaD449IZzOl9dDAD77lpU w003NYRufdsg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,261,1616482800"; d="scan'208";a="477075884" Received: from gupta-dev2.jf.intel.com (HELO gupta-dev2.localdomain) ([10.54.74.119]) by FMSMGA003.fm.intel.com with ESMTP; 09 Jun 2021 13:56:52 -0700 Date: Wed, 9 Jun 2021 13:57:01 -0700 From: Pawan Gupta To: Thomas Gleixner , Borislav Petkov Cc: Jonathan Corbet , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , x86@kernel.org, "H. Peter Anvin" , "Paul E. McKenney" , Randy Dunlap , Andrew Morton , "Maciej W. Rozycki" , Viresh Kumar , Vlastimil Babka , Tony Luck , Paolo Bonzini , Sean Christopherson , Kyung Min Park , Fenghua Yu , Ricardo Neri , Tom Lendacky , Juergen Gross , Krish Sadhukhan , Kan Liang , Joerg Roedel , Victor Ding , Srinivas Pandruvada , Pawan Gupta , Brijesh Singh , Dave Hansen , Mike Rapoport , Anthony Steinhauser , Anand K Mistry , Andi Kleen , Miguel Ojeda , Nick Desaulniers , Joe Perches , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org Subject: [PATCH 0/4] TSX force abort Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introduction ============ On some Intel processors [1] a microcode update will always abort Transactional Synchronization Extensions (TSX) transactions by default. These CPUs were previously affected by the TSX memory ordering issue [2]. A workaround was earlier added to perf related to memory ordering which is no longer required(because TSX is defeatured on these systems). This series adds support for new bits added to TSX_FORCE_ABORT MSR and CPUID to enumerate new abort behavior and to bypass the workaround. Roadmap to this series ====================== 0001: Define new CPUID and MSR bits that are added by the microcode update. (The new CPUID.RTM_ALWAYS_ABORT is not shown in /proc/cpuinfo) 0002: When new microcode is enumerated bypass perf counter workaround for [1]. Perf workaround is no longer required after the microcode update. 0003: Clear CPUID.RTM and CPUID.HLE when TSX is defeatured, so that software does not enumerate and try to use TSX. 0004: Add tsx=fake cmdline option to not hide CPUID.RTM and CPUID.HLE. This may be desirable when resuming saved guest image that require RTM and HLE feature bits to be present. Thanks, Pawan [1] Intel® TSX Memory and Performance Monitoring Update for Intel® Processors https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html [2] Performance Monitoring Impact of Intel® Transactional Synchronization Extension Memory http://cdrdv2.intel.com/v1/dl/getContent/604224 Pawan Gupta (4): x86/msr: Define new bits in TSX_FORCE_ABORT MSR perf/x86/intel: Do not deploy workaround when TSX is deprecated x86/tsx: Clear CPUID bits when TSX always force aborts x86/tsx: Add cmdline tsx=fake to not clear CPUID bits RTM and HLE Documentation/admin-guide/kernel-parameters.txt | 3 +- arch/x86/events/intel/core.c | 22 +++++++-- arch/x86/include/asm/cpufeatures.h | 1 +- arch/x86/include/asm/msr-index.h | 4 ++- arch/x86/kernel/cpu/bugs.c | 5 +- arch/x86/kernel/cpu/cpu.h | 3 +- arch/x86/kernel/cpu/intel.c | 4 +- arch/x86/kernel/cpu/tsx.c | 44 ++++++++++++++++-- 8 files changed, 75 insertions(+), 11 deletions(-) base-commit: 614124bea77e452aa6df7a8714e8bc820b489922 -- git-series 0.9.1