Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp894865pxj; Fri, 11 Jun 2021 14:38:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxsxwGh249k0oxrfS0cfna2UUh5v0KMGNdX1zjL38ViHXaCGnmmM9eWVK+zpcO8iclb+tWK X-Received: by 2002:a17:906:b212:: with SMTP id p18mr5458351ejz.109.1623447485609; Fri, 11 Jun 2021 14:38:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623447485; cv=none; d=google.com; s=arc-20160816; b=VkKbF8lF3xX0dhMStOAGsQIP4c9jaOwyWxoNIhBb5lmym14MgllQAyKobFYhet9CnZ eXhzbUIA31LaqV0AHFBPp5xHF9/874gJuRgctN5dKKdMakCLbCXYYGl0RVT2zlkz4An1 owoFZgkGva8NcDI1Chu8M/Pc3pB9/vzqf2WKUtvO32ercNJxqSx+sVHCyIT75h+WH0RU e4WicR0hYFtSe+r9FOxVcCVLqF/lq2LmAB8XOOa5bmXs1R4Rbl+KoEDizg7QcU84kOC9 Jyq/9M2nVNNQDroVQoILmc2MZs7QjdKcz4Kx309mnFJQd575pQbObQdGn8VGWJD4myyy n2ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:ironport-sdr :ironport-sdr; bh=SfgnNmOqg8dxOd5BqaKUbE9eFFFQ4f48NR8eL3l4ENY=; b=wax5rhrTKZ/7F15X58276eAZvFhIBVF1jZbCg9FZrTfR6syR6P+JJHEmK8t/HN3dU3 HLq0Hbem9ACn2Eff57T7dJpQJuM8ZvuJKI4QgTfsrzHRn9XyrOF4lxpltEe0iOvJd6f/ uagZ96c149+v0A0qkBQ7PPErVnLK4INnwsngRfaU2DBMD4o9/cjnmFhdyPwG3rGPBmNq jNa2h3YjHvUu15qWb4xczRjKYk77z7MXNSU2Ryck383Ov1fnEuLASuBYqfNfjh+ohZva VppZAbzrQV+xCGO8d0BSaI8RUqg6y2FWj63vav4ns2+jTJ2WslYPZKiQGPqzVj7SnaSl YhlQ== 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 v11si5444359edx.139.2021.06.11.14.37.42; Fri, 11 Jun 2021 14:38: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 S230356AbhFKViM (ORCPT + 99 others); Fri, 11 Jun 2021 17:38:12 -0400 Received: from mga05.intel.com ([192.55.52.43]:27455 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229685AbhFKViL (ORCPT ); Fri, 11 Jun 2021 17:38:11 -0400 IronPort-SDR: PbHaIPB143Md79jpgXn4wjeIDpEeAFXCJbBIoSOzXSBy7YC4tHg7YdURs7aFbD+5PkA5f9hn8X WXI0UVfoi88A== X-IronPort-AV: E=McAfee;i="6200,9189,10012"; a="291247153" X-IronPort-AV: E=Sophos;i="5.83,267,1616482800"; d="scan'208";a="291247153" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2021 14:36:11 -0700 IronPort-SDR: zsFX5XOEZif7pTyxCjeyESd4H2QsYVWfy9GhY3tvFAKK8+7mYFQOT5W4OnQuTZDf5nrHhD+OGW vTT1p0spFkuA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,267,1616482800"; d="scan'208";a="449241880" Received: from gupta-dev2.jf.intel.com (HELO gupta-dev2.localdomain) ([10.54.74.119]) by orsmga008.jf.intel.com with ESMTP; 11 Jun 2021 14:36:11 -0700 Date: Fri, 11 Jun 2021 14:36:22 -0700 From: Pawan Gupta To: Borislav Petkov Cc: Thomas Gleixner , 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 , Brijesh Singh , Dave Hansen , Mike Rapoport , Anthony Steinhauser , Anand K Mistry , Andi Kleen , Miguel Ojeda , Joe Perches , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org Subject: Re: [PATCH 3/4] x86/tsx: Clear CPUID bits when TSX always force aborts Message-ID: <20210611213622.n3rlgzwe7c6q7lfu@gupta-dev2.localdomain> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11.06.2021 12:03, Borislav Petkov wrote: >On Wed, Jun 09, 2021 at 02:13:38PM -0700, Pawan Gupta wrote: >> @@ -114,6 +127,26 @@ void __init tsx_init(void) >> tsx_ctrl_state = TSX_CTRL_ENABLE; >> } >> >> + /* >> + * Hardware will always abort a TSX transaction if both CPUID bits >> + * RTM_ALWAYS_ABORT and TSX_FORCE_ABORT are enumerated. In this case it >> + * is better not to enumerate CPUID.RTM and CPUID.HLE bits. Clear them >> + * here. >> + */ >> + if (boot_cpu_has(X86_FEATURE_RTM_ALWAYS_ABORT) && >> + boot_cpu_has(X86_FEATURE_TSX_FORCE_ABORT)) { >> + tsx_ctrl_state = TSX_CTRL_RTM_ALWAYS_ABORT; >> + tsx_clear_cpuid(); >> + setup_clear_cpu_cap(X86_FEATURE_RTM); >> + setup_clear_cpu_cap(X86_FEATURE_HLE); >> + return; >> + } > >Why isn't this happening as the first thing on entry in that tsx_init() >function? IOW, there's no point to noodle through cmdline options etc if >the hardware will always abort transactions. Because the next patch is adding tsx=fake cmdline, for that this code needs to be executed after cmdline parsing. I wanted to avoid the churn to move this code between patches. But, I see your comment for 4/4 i.e. tsx=fake may not be needed. It was added after an internal test failure. tsx=fake is really for a corner case and if that patch goes away it would make sense to move the code in question here before cmdline parsing. Thanks, Pawan