From nobody Sun Feb 8 09:12:36 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012051.outbound.protection.outlook.com [40.107.200.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E64812F4A18; Fri, 16 Jan 2026 03:35:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534531; cv=fail; b=dmkiWqVjbyTzqdMSRHFdirAZ3xiT00IivR4JrJ/N5Lail+Q6MGvvzTNeuCiaRY1GZfseZPKPOgYWfd0wK7QtFhknCElrfA4z4jATOqcSRqWOQW/CAjncEqqacmXlUPpk+fn5x04UjKMhM1tNcDXIz8AIT6xy1hERnJzFRwOJvvc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534531; c=relaxed/simple; bh=VgEpF13SGH1WiGrCqhqpEVw52B22du9xtTJ4j/w+1uc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=V0vlisZ8Ui0R4tZOQFa0yUDtjAONYWrdr0SvSl15A+OyBq+zFUhiIipA0itMWjcPBIoYxn2bAp+h1lhg4ld7uYuHYs2fBs4SI9U7glj2SqRhB+HrJblbwY+cxlgE6ddBx7htgxeZNGpzRe4UxXZQSEXjd2BBphyr0Wi1J41WCZI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=WhCXUIvX; arc=fail smtp.client-ip=40.107.200.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="WhCXUIvX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DjVPDmCxWH+XsVqB73vVks+HFCTkO1e/TKN3GvU0KOPeVef/+rEz+AZVBXlVdDqKbLbHFCYjoRG/LYf7TGDI5+8tHkwvF5uTudQ06gfvTYpj1DGz+ASd/1ZYbsgVheb3yhExDe+9bFZ1oyVZ3/d940i7GRjqfBx8uVht+ewQfOX9r/OPxCqaIw03wJzKiNb/ysXYUzScjNW4oOGOJOrSAqEIGQ5ZhM3BLmBypigqOKjDDEsdm4ISWsYcgg4OsIdpe5Z88tvDM/cMlGd4WgxlTFqXNpAuFf7Jl16uibkp8ONhOElAeghy54KE+mtjOiTgpL0cwMcihTu1wzy2QhQudA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=15H5i1OemKgzdmTMlunWReG0WynSqPRzBNApqoidrx4=; b=ad2OkW+oebzebBgbHqGGhYQnFgpjrp/eyqkBTNKD7tC2Dlw4KJX9qEKNyjC+3kVTgJgGAxH6GRF3MstoMuQqtre+Z6gaeQNhgDZPV5Se8l51KC7ZI341NXrJMnJpaCOCh+pC3jbIHiMVrim4fLsMig4biZlci1LUCXxt0mFyxsqyGQ0bgmhE3qa134xd4jd6+kDOPji3qCKwcn22gYjQ2hOqDIApTEBokE30GVcQSYf94PyG8Af5m3Zc9AYYRqJYFM+mnTRKc9CGUfMq8qjPakh7IMRUVlEx9/qyyVf1bbCQqLNfTETOu4+EqMJV2tz2Ebl6XGgWhX4cq/X+G7ZdPA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=15H5i1OemKgzdmTMlunWReG0WynSqPRzBNApqoidrx4=; b=WhCXUIvXxcTuQNUzwkBVZ6eYkinXxE9gk3/gcMLxtXBoIoLgz9nK0v/lwxEwq8kZWhnnG3cjMWwIiu6R/ga34qR5UL6mNMMFROjGsca6/wVZWd0oTtIMlUTqHMU7jQrlwIvdME6QNgLJ/DLmvN8YCmYIdPRM/kv0zkJ+5TCnioo= Received: from BN9PR03CA0653.namprd03.prod.outlook.com (2603:10b6:408:13b::28) by PH7PR12MB7870.namprd12.prod.outlook.com (2603:10b6:510:27b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 03:35:26 +0000 Received: from BN2PEPF000044A0.namprd02.prod.outlook.com (2603:10b6:408:13b:cafe::c2) by BN9PR03CA0653.outlook.office365.com (2603:10b6:408:13b::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.6 via Frontend Transport; Fri, 16 Jan 2026 03:35:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A0.mail.protection.outlook.com (10.167.243.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:35:25 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:20 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 01/11] perf/amd/ibs: Throttle interrupts with filtered ldlat samples Date: Fri, 16 Jan 2026 03:34:40 +0000 Message-ID: <20260116033450.965-2-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A0:EE_|PH7PR12MB7870:EE_ X-MS-Office365-Filtering-Correlation-Id: eed064c5-2870-4e9e-4a69-08de54b04987 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?6sDymAtsMZZM4p204MBzshvPCCw9UgHtmLlvSvQq2mu7hny+B3fw84kzR2f9?= =?us-ascii?Q?zOQ+69vJ2j/LkVKRLJIzam3yP9I5rp77P4Rk5JG2eYem5PrM3JG3Kvgatt1v?= =?us-ascii?Q?UJ3KTlnMDxDLLQNLOmXFTymaZi7qJTZEectzNIXtkyNcrrN6i7uLiRTb2S2q?= =?us-ascii?Q?noMfwyahZ/gtMtiapKrO5S9mMPLLLzUn87Ol5Zw2YHlhcdh47QZepJVXScSR?= =?us-ascii?Q?b6r+6Ct+zluDjRU+CK0wbt6k/lvuDCnyYIx8LZupSzkDr9y6Bz7GMS3KM6Nk?= =?us-ascii?Q?vfUyJOVG6F6svr4RlYTvODyHBlKeIk3fuFUljVBm2OnsW1VX35lzr+Pd9sUl?= =?us-ascii?Q?pcEM2rAisP4VcYHv/WAojd59TU5+XGoa4d9fsaER49R9azeyUGFwcSG68kyy?= =?us-ascii?Q?x1/34yeX7PWn1CiCp1LqgDhSL7Uto4cbQIVfwUC98psEvsvftNdxgp77c7hK?= =?us-ascii?Q?iBimBwn/5fiCEsqR8DOgn6zNpAfDZ9QjT7cB6VOAD6hKwtAqeYfyNCrq12E5?= =?us-ascii?Q?mC5uNNa7VJUNe8kokY8kjSdRQTjQfvY819rAlXxsI03oJYL4JbBhQz4HeyQH?= =?us-ascii?Q?5CSOmcmW9zZ9soEv+G5FuV/UysEjeYPJD/22NxGoU589i+io2A5EFWRk+++9?= =?us-ascii?Q?Eey33/u1szNSWwJg74u/ME09nadX5aDxfF+MLAmN/w/RixD5thJ3eSuqziia?= =?us-ascii?Q?jM9+bGqenyFgdq7NvwJWxtmQDbChSe+5NIYrj9wv2NkIHU/KIPQ+ap09symR?= =?us-ascii?Q?X5qsbBq6cWjZT0Ifg+mWMmVPkVAb0ypFBKDzBPMqrpcXVvyNv7J8ktrXO/NW?= =?us-ascii?Q?mTpLGEX9R7alfBu4koFvBa7FJ8MVk1mB4fsew5btPKJ6aVT4Ff3uNjAIXQeL?= =?us-ascii?Q?CB9PCU6sYH59G5ezUaCpYpKbxt1ANZ+W2ShJMz7noFpQUskAJZuOI+bU0bDI?= =?us-ascii?Q?Vo4rRbWkrv+XW/CYRKU2SJ3WRVyiZcSSwDOAmidSQjk5UQCnH+qF3bSWQ7zK?= =?us-ascii?Q?sE+TB1CDxesl0P19f5JLZD+q8TxkC7pl9aWgEW1cFQ/Jf+15CGmrPokKM4kz?= =?us-ascii?Q?8xU+EFtbOszxByTEJmRwe+VCOTMUpinh5o00+gxAkFr/RA+kyit1Wc9hF7SB?= =?us-ascii?Q?Gqw2jt3B9WdHdyKd2xT0Djx0LePsFey8a20tF3XB7gnv2RucTy34ii+eehJd?= =?us-ascii?Q?CRAJueRwLFyD7BBCKOkzXpJmlrIL9lrqqLH/pdCj4QkSM28ad4KCBigjtIOx?= =?us-ascii?Q?JSX2y7ZpgLWp5LwOhktoMm3yFqpyRPRxwfT0J5g2GqkILCkezk2wezP29gr1?= =?us-ascii?Q?DrYth4eoRwcTKQFqIii9k8Y8FxaN/gl6sDXvnT1jxff/GcmX4bSxASBjD7D9?= =?us-ascii?Q?60vR5I16D7LLULo2+dt1bYokAq3Xyqa+i9ET0CiagZxd37ZfN6hTTDzSyVnY?= =?us-ascii?Q?X+JSLP5IHjSrPjeI8zcrZL/mM6H2D9W+2Gpzpud7cWQogDSbgUIJrer3RNBo?= =?us-ascii?Q?8pPYYbn3ZtIf2OsLPHWM5AWdISe8UzR2h1q92atkPS+jRKyFGXj58Ik0f6uw?= =?us-ascii?Q?Rt58SwX5veCy72UdLFa295Nh4BWAJn/CEsEmR0nNfqS3T2eOtc3glq1UTPOC?= =?us-ascii?Q?1mP1KHHf9RFJGhW+XC+OWBeqT1lyvlH9X9vpdFF39KYevbFxyGPoY5ErjyqK?= =?us-ascii?Q?KwC25Q=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:35:25.7334 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: eed064c5-2870-4e9e-4a69-08de54b04987 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A0.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7870 Content-Type: text/plain; charset="utf-8" IBS NMI handler has a software filter (on top of hardware filter) to discard samples with load latency value lesser than user requested threshold. However, since software filter still involves NMI, check for NMI overhead and throttle the sample rate if needed. Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index aca89f23d2e0..96bb0974057f 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -1293,8 +1293,10 @@ static int perf_ibs_handle_irq(struct perf_ibs *perf= _ibs, struct pt_regs *iregs) * within [128, 2048] range. */ if (!op_data3.ld_op || !op_data3.dc_miss || - op_data3.dc_miss_lat <=3D (event->attr.config1 & 0xFFF)) + op_data3.dc_miss_lat <=3D (event->attr.config1 & 0xFFF)) { + throttle =3D perf_event_account_interrupt(event); goto out; + } } =20 /* --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010017.outbound.protection.outlook.com [52.101.201.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 96AA018B0A; Fri, 16 Jan 2026 03:35:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.201.17 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534536; cv=fail; b=An2mnmSNWDrqAooMsFp7Z7dEC2OEYIVkRaHIVM6gTgW1dR86Er2YsJ0RaUGz7pC6lsjf1qg1ohJ6+GMJGIFy7Ms03N7innMOHK+B3r3XooslzzgdurXnTcRUfoTqxPnDt69fFugsCBMLqfIcS3rPqufx8fx22XU7IfTpPGGBJKc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534536; c=relaxed/simple; bh=3sVhLqIteFcjmmgd5YL+Pd75cwiwSS5/u7DX8jVcehw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BpxuWxr+vI8CMVWHyuP6P9XxfyyuFDp4yH3LucUESx1or11cybcQsEosfwmH8qKa4dsVWkIB8rfVQEqnGcQDgHFdSzfH3t0YVQTiUfuhmB/wtC+4qNLw9mkbgWQ65yTBjS29Y4ULEtTndRaDZK+NSaDtfmiam5lSqBuU+7TD+G0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=kYoUzWdn; arc=fail smtp.client-ip=52.101.201.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="kYoUzWdn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uqDb9yCoEOk2u0rbst2x9j07L5dMDYP4JNRKp4lVqOU25HJiPMqXPtcVJK38RXLCXiRz3TugInhGqmt7nK9ZpY7J6d6VZmaEPaNlHiT6ZO4GcG+YI3l57xIDeGZEJbcUNTSbaQRkoTxz37H8KeWIRa3IvB8XE/0TdvIUCulSou1GxCrcv0u6ORFgAOOdJLsHdOeIPcxrjw+TiJSyQlrTdta6JQFH2lm40RDR0iPabdrXhPySgr2PyezmDi8OFA3s6qOZjTLODm0O080oBZN66Uy+bBruKjhX32CJ5ORNtzP0hwAPaoSrveVDWu1v/qKIYE4j56UPBY4COMjLyXoq5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=T7c+kjyBQd9QZ3emhSk9detYtlsPyvsg1/AfUmGAtE4=; b=YfmqAIEHto39mgcxD8F4fIzFOivQhoLzxjp2oo7TcKzMyChGkRV/PIYXsrnebvDVMqjUzEDcX7rOTubHhpNSXb1Z6von7daLyPGDdHgtCuZMM2b7lNldYDAgc+l52Cj8uS2+miXpsASYQCdjusTYop7rK1Qs5qpsO/BB8FYKmKX6j/Fz7maIMHsYpW/LYWCFboXTaOArqlyflBxKQhAHmcSgTQJRgA4l27o4HDReBBW6vkQIkpU7dXgiYMUZ9LkoymJ0XSF0AGfJ6hYnTs+zV1aPYIfKx+BpzWT/NLHUhAxggduUo6aWqfNrqLt0sdUIVojKvAHJA3LCKceJs3+yww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=T7c+kjyBQd9QZ3emhSk9detYtlsPyvsg1/AfUmGAtE4=; b=kYoUzWdn21mRSFh5RvQWsAX+PfuX9EAcoJ9FBY2xC0Uf4Z5mnO54vJNf0G+Ti4RjRbhkzvZTpeXHVdYhfBsashJV37MptjXNunzbsEnDfY3k1PKpy/EqNeGoYTgdNV9J5QzJyip4wswB2VVqzmIheHxlVjDUJuuMiZH0vKmJMV4= Received: from BN9PR03CA0653.namprd03.prod.outlook.com (2603:10b6:408:13b::28) by PH0PR12MB8173.namprd12.prod.outlook.com (2603:10b6:510:296::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 03:35:30 +0000 Received: from BN2PEPF000044A0.namprd02.prod.outlook.com (2603:10b6:408:13b:cafe::eb) by BN9PR03CA0653.outlook.office365.com (2603:10b6:408:13b::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.6 via Frontend Transport; Fri, 16 Jan 2026 03:35:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A0.mail.protection.outlook.com (10.167.243.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:35:30 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:25 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 02/11] perf/amd/ibs: Limit ldlat->l3missonly dependency to Zen5 Date: Fri, 16 Jan 2026 03:34:41 +0000 Message-ID: <20260116033450.965-3-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A0:EE_|PH0PR12MB8173:EE_ X-MS-Office365-Filtering-Correlation-Id: 5f77d37d-0e33-496a-c268-08de54b04c38 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|36860700013|82310400026|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?eEJ5IqoKL7NgcbYRYX7hYH7lQ09FJm1fC1SdqZ8PyVtngrFhYk2Q3TJMVB2W?= =?us-ascii?Q?xsBOxywvbhXsCzp0DWNpeCP/VsoIC1MHHsKQYZdJoX+Gg4o5rK5DjWKOxUqm?= =?us-ascii?Q?4OVXn4ErGu1lShmHCrp2hI2sAtntZBC+6hCPLDcQpJthgR6f+MWVgeVSy6cs?= =?us-ascii?Q?QUIzNHbKzcnZXMiktc7+QpYv3vQIeKWa+A8Cy591+aHzZevFeajIJu4iIzgI?= =?us-ascii?Q?Hob8qK7/67sH87VfNp1KUQgfZ3i1IX96iAn6F135K+Tw9BT4XxSalCsS6CVM?= =?us-ascii?Q?B3uli0e1xfR9zGuKsSWDzBAXIXjtqBgExmm6h5125tPukwchAtQHHSAVUdE/?= =?us-ascii?Q?Eq0yUh2eDscgDrzKGJoy2A6b7VachC2pHx6EXTS/l5lfFHj7gBeS+/o9T0lN?= =?us-ascii?Q?Hk1zj0FIC5D1EdI1PAIu1SeKpiO8y1+8wbf9pMtO8UHRWWi7H0uRwCDQ3JLH?= =?us-ascii?Q?y0yrgF7A2ufjX9dwPPnMafQhZHIS8PlK9d3RO3Z7mJqlnLo0AUg5v4KbNvwY?= =?us-ascii?Q?0awRXRHwl0DKw7Ci6b9E4xSx33psB1qULW0PT5yCqZOfHSzEJLpyr05YDaPD?= =?us-ascii?Q?E0JLCS2etbjPJFXwSwWI3Efc0+MUbhvsyh3CGID/yKRdoX+8DrdBWvdHQApe?= =?us-ascii?Q?47oSLzoDZIU2utfY3u5OM+N3phfR0L2Ldxrtq4lDuCAa20e4yfIy9o42QnU/?= =?us-ascii?Q?kolMxUlxycVg5ymtJjmPPtuh/9hUaMFOLUa5pHHi0oqoHJePChxEg4UhSFoU?= =?us-ascii?Q?p/AjMoesZWRUL9RtBeZ4sGDr1ZC0iT7lZuCki/j4HVL+9tDoscp1I+JvI35K?= =?us-ascii?Q?k3NSmIl6X0JP8AWCPpDYFS1Xo4w8gplepibnHvl5iKpIwyUrdw30mNxgp7YD?= =?us-ascii?Q?o8V2OcpJOsfX7gzG0beiYgTpUD+0e2QyfmHVXd9RqRyTmTPSWlnkyUchldS7?= =?us-ascii?Q?iHXqbgQHPBuEcb31lMAQGqxKmHp/vATIykHnG2bPYZNv8lfw/v2s1mXXlQHJ?= =?us-ascii?Q?oNPHFi4eKNkKwdRqVPAkkQH4Wjdj0Lla3S4q143UC4ssx3N0iyVDzfUBYbdn?= =?us-ascii?Q?ZqtsugVXiX3KJ5+yGL0kJft5IpsjV6v/BBHc8waAqli/5u79qrU13bNP/aOT?= =?us-ascii?Q?fQUFFzB0XJQyWmG/ZbRADfI3ybv5MzSKzkITnArZo7F/KxEOHhiW+Ph+mn6v?= =?us-ascii?Q?17KFJIQp4bvRWKTroaaPFzlOypUyHiF++ThTEYhg/rvUBp+fwT3NKLnhmbS2?= =?us-ascii?Q?54Qoi/prsQ9otCkYEIdiMIH/nRH4FZ5/Xxkqcq/3HiodkTRNCuC551OEKJj0?= =?us-ascii?Q?WhBh+fueeJbDB/h/8ovEVOmmK454G5G/muezIjqpaINe4rfbVmMTJxXtNguT?= =?us-ascii?Q?VBdz0e3mmiQBBuoxmogu48aJ21AOdD389+b9jBI2LIvlrC3YmBW8XmVwVeIp?= =?us-ascii?Q?rsoyxRou8AMuJxhQ+jvQZ5culXQXzcs2ObZaAR2T79yVpHmqeHL14vxsjmkv?= =?us-ascii?Q?BSmyf15x0osOXaokQBunvA36xmqpptEst8aGMrwyJjkTJ6SEmMnEtJM4BQ4r?= =?us-ascii?Q?6071S1JweCVhiryxh8/zPeHXktJOggbkFZflv54V5O8xu35BRdGe6jFkutb1?= =?us-ascii?Q?oE7jgWUh0fmYhZuek4j7B5xf/fPQUWDQU3Xm8zMxQVP1O+2kuTBWUZtHuhYW?= =?us-ascii?Q?jHpc/Q=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(36860700013)(82310400026)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:35:30.2517 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5f77d37d-0e33-496a-c268-08de54b04c38 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A0.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8173 Content-Type: text/plain; charset="utf-8" The ldlat dependency on l3missonly is specific to Zen 5; newer generations are not affected. This quirk is documented as an erratum in the following Revision Guide. Erratum: 1606 IBS (Instruction Based Sampling) OP Load Latency Filtering May Capture Unwanted Samples When L3Miss Filtering is Disabled Revision Guide for AMD Family 1Ah Models 00h-0Fh Processors, Pub. 58251 Rev. 1.30 July 2025 https://bugzilla.kernel.org/attachment.cgi?id=3D309193 Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index 96bb0974057f..dc8cc173cdf5 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -356,7 +356,10 @@ static int perf_ibs_init(struct perf_event *event) ldlat >>=3D 7; =20 config |=3D (ldlat - 1) << 59; - config |=3D IBS_OP_L3MISSONLY | IBS_OP_LDLAT_EN; + + config |=3D IBS_OP_LDLAT_EN; + if (cpu_feature_enabled(X86_FEATURE_ZEN5)) + config |=3D IBS_OP_L3MISSONLY; } =20 /* --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010040.outbound.protection.outlook.com [52.101.201.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E94AC322B67; Fri, 16 Jan 2026 03:35:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.201.40 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534542; cv=fail; b=CIUTJkxh4+Y5WsjTK2F6Sd9qqxyR/VYcNOVHOKx3EUmnTs7gte3q1xt8dlHAemHMgNcdlIcH06l4BdJ2CEC9sX9sR3X683EsiVQldOGXQTlwHREHjRFv3FIKirKp6l6MO/ujSK0z7SkVfn+JzDwwNgekE7/l4b6/g6V17q5cYSo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534542; c=relaxed/simple; bh=nysQo5q9byMFbV3h9F2QoNsIcpBCZy8kbtCCYqXGN5k=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=OYTEi4YbS+uYq+4N+lC1HuPAjm+4/cwARgHql6k5xTn1dMgZaW5CFEC+wn+s6fRVf5xenAsWr0gv+UMfnGkCeFPx9b+FdrKpuOYOQzDeqfxqtOKk/0lJVjpuApVVhvodolNXEwpCBg0hpvAQJUX9LMGantDM2YfCvb8caS9aQNA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=HwFVYwH3; arc=fail smtp.client-ip=52.101.201.40 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="HwFVYwH3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dgfWL0SfYOQ32PT6J3zxvg70gUqBcL5rfeUvfeZaqWys61YHG5lScKY0HXD/S+rVdcCR2qllRPDco6q/dbjhldog1GI/03AL+bwm+OxZozvdP/v07j5evexWoGi7O7TwfY42ohi4SZeADWGFyJol6Sb+6gqVAHsG4d8RI8306BwLq0+Tei6vEC1v1MsOfAhFeq2T0pb3nuEKQ4wDMI71MuX7BRAaRT4zCGAH4XWBwUpLPyERWOHHpTQPwsTFm3xmjsleNniekZstIm9SDTC5o8EQZPxqOmf32Ma47EOh0ITuSsPmXVJ17YYqGz3HcpmDPVsCcRpoxVbDUL4Kh4Bjkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pYzp02tdOWSeW/zCmbdmHqcwPbZ5dOaBXSiPUJt/PPM=; b=uJvPtC4x7pN+aAVPUrTuS3FJ1EKzLtw/C6CM64/FruGppUQhXVwdHeyJSlowkuGll6ZEnBvPHgnmNydN+o59MeIy+svqIGA43tYVGLuTYT07GiMJsCyud5ndUbYgU3kV5w+hyZFdoikXobPm9RQDoUCcIqaM9hln7GFy0wb0moeN5gvkZMRTgpK7xVoA3LPRRFyOl5wApefX9iiFeB9JbgHer/6t3invvpWj3/l//vK+AGBjWeKo2NtzoflJ9LIEAEedZggp9c1JTYPv5OLMK7BsnaoXbPuY4x0YEjz/+GQusirPdqge8otNkd+VEkJgj9jyaFkyjdxqFuc1ShlQkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pYzp02tdOWSeW/zCmbdmHqcwPbZ5dOaBXSiPUJt/PPM=; b=HwFVYwH3jbdlrYkFE4v/4wM9e0K6kgTnUtQ9Ta4/sP8pryMum2SBYrlfsHKGuL+0omXXkaqmjmXwwZyZAKA5Wmhec19rRp7KbYIavsGb32fJ0/8BosGIc2/UcPSntIrbx0lgHXd9vVysEO9qhQfXQZFvG8Y88eUBc+MphNeAfnc= Received: from BN9PR03CA0075.namprd03.prod.outlook.com (2603:10b6:408:fc::20) by MN6PR12MB8543.namprd12.prod.outlook.com (2603:10b6:208:47b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 03:35:35 +0000 Received: from BN2PEPF000044A1.namprd02.prod.outlook.com (2603:10b6:408:fc:cafe::ee) by BN9PR03CA0075.outlook.office365.com (2603:10b6:408:fc::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.5 via Frontend Transport; Fri, 16 Jan 2026 03:35:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A1.mail.protection.outlook.com (10.167.243.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:35:34 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:30 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 03/11] perf/amd/ibs: Preserve PhyAddrVal bit when clearing PhyAddr MSR Date: Fri, 16 Jan 2026 03:34:42 +0000 Message-ID: <20260116033450.965-4-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A1:EE_|MN6PR12MB8543:EE_ X-MS-Office365-Filtering-Correlation-Id: a78dc43c-dd67-45ff-fd66-08de54b04ee8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|7416014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?m+tG2LdKhzF2ksGC4HP2M2sW+CL7W7T89QfggKT3CULK9BBPOWzSSpQTk6Zi?= =?us-ascii?Q?ns9pLy0exGFdEo4/CS8AQMWsHxMDqhQ5EUO9OpzUeRUF5VjSck5AYf0896UG?= =?us-ascii?Q?2xxBQudYgqsj01Jl9f31Rby52hQWLGwPaUG91sGeeB3RpPsujEfCao5edM9c?= =?us-ascii?Q?hRCSH9iGV/MIC6mjD+4KaHn6pcZ+ZHlMqQI/mTvh/DHf/t6K6FqHVmxC1EMb?= =?us-ascii?Q?ex/Ro85t3RA81wkBWgxfcjZQ3Ezb4kQcp3NgAAu4S2ltYjJ1/0AvePQxFDq/?= =?us-ascii?Q?pfRlIGU0WqJVrhsAEruoB/yT1IHZAT0sbXl2bNw9R5XMAhnIa4Symz8pZAB4?= =?us-ascii?Q?J8tfYJv7xuxXRfioeD7FGbvjw51+KmVRxUrtZQQG8avsAD07PtwTjePIN5St?= =?us-ascii?Q?arGzJsG2l051qQtb8+y2P7hwVELJN6yOft06aACpJQuqS+7cXeiFhgR1h4Ty?= =?us-ascii?Q?z7fZVBlxDRUrruSurlQBN6ZWeSKljKEPmlCXQLzdCPwDG7v6bhPzYKC000Bc?= =?us-ascii?Q?kMDeX5PmWP5j6+VhP2jo/QP2RvwectLemREdLkRnLz7+T7HUHO+iudxDMmB8?= =?us-ascii?Q?YeORJfreWa3BUmY1TH5Ki3PntYvE+e91oihqmnfeCuTyk+RE9Ig8GnysfKN/?= =?us-ascii?Q?/kJIDY1EbY+ecXopi1UiMFzfiijJSVppzrTPK4zC2RIxM8bZo2TPzui9I3zV?= =?us-ascii?Q?oL80FvcD6hjISooXKFMCiIyaX8Xr9OPWekxoYE3NA0vJ8xOJIkmzmql4V1Is?= =?us-ascii?Q?uZhQhCsNNP2yFtmDV4Ky2+bcQM+P9rxdoGgQCc0HrBfOnDsMcumcxd66nRQl?= =?us-ascii?Q?3HGBBRNSNR906a6tZcCKqgdF5An/MzeEWiOmBHdEbYUz1eRneSfGSNXx/V+N?= =?us-ascii?Q?MdUQZUoLPUlAr3qJiYa2lVEMPrLM3eSkU91QsQM74LoP5wPOjPCOBP8VhwIq?= =?us-ascii?Q?sYElkz6WSNi5CIku1YR07XWu94fSzE1otGh+1oUR2Kd+N8h2FcITda1gjVg3?= =?us-ascii?Q?TEsyyT3axQer8M9ZPgHn5WX/UQlpBLO0xkEdJKMsowkbNRJ8Al1yrvTPXRIt?= =?us-ascii?Q?cDGyy9RWvFAlcBcw4M8eSbaP2KaSvupEcwWwHfVl+UyZvu79LWPPVBgQvpd6?= =?us-ascii?Q?h7kxhMSxjxQXVtiOZIu8/RZ2oSazHTm5yta0H+JiCgJjzmsNDmK7QjXtNaal?= =?us-ascii?Q?dLa3U9GjwnGEFEzZrZezIUApjwDitfV2c1k7X5OjSNJ7GBxvEHn9WHKrONT3?= =?us-ascii?Q?xDH+8n9dLno5XTA2+SKdUFmkXt7+Z+sev4MI39c7Tc5NsInX+5MmBnK6ie1o?= =?us-ascii?Q?wCE5ZujMN0cZoELcfJjbQVQVsJDrtj0NB8H8IP72PLyPdi3m6ogVwk9SKH0+?= =?us-ascii?Q?zhsvF9BY4DHC7/81vdA4swdAeBxt/HDigY3L+9iYGci6epoR4oUjxjNP+iyq?= =?us-ascii?Q?1PZVOSyJDakDQbS5Vi6FKytnMk0RGYi7Ni0aJcurfPyu0MLTVU+7nUMkfR03?= =?us-ascii?Q?9pBhN7AlHvTPCynVNGOb0iHYurMH19CCg4DjuSoz08Zk6atB9O+8nKqgyH2P?= =?us-ascii?Q?K4lmmH6U1/4yjXXhZIdtbpafp/lztGf3IsL2D8Gv/vhS4WYQRZlxzEQtUv6o?= =?us-ascii?Q?NrIqs/FT3h7tothUX6zJpDjvXNu0XoivwSZDouI6etOsBfz5fFaWNSIf7aj3?= =?us-ascii?Q?X2OHXw=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(7416014)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:35:34.7656 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a78dc43c-dd67-45ff-fd66-08de54b04ee8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A1.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8543 Content-Type: text/plain; charset="utf-8" Commit 50a53b60e141 ("perf/amd/ibs: Prevent leaking sensitive data to userspace") zeroed the physical address and also cleared the PhyAddrVal flag before copying the value into a perf sample to avoid exposing physical addresses to unprivileged users. Clearing PhyAddrVal, however, has an unintended side-effect: several other IBS fields are considered valid only when this bit is set. As a result, those otherwise correct fields are discarded, reducing IBS functionality. Continue to zero the physical address, but keep the PhyAddrVal bit intact so the related fields remain usable while still preventing any address leak. Fixes: 50a53b60e141 ("perf/amd/ibs: Prevent leaking sensitive data to users= pace") Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index dc8cc173cdf5..72abc474ec23 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -1217,12 +1217,10 @@ static void perf_ibs_phyaddr_clear(struct perf_ibs = *perf_ibs, struct perf_ibs_data *ibs_data) { if (perf_ibs =3D=3D &perf_ibs_op) { - ibs_data->regs[ibs_op_msr_idx(MSR_AMD64_IBSOPDATA3)] &=3D ~(1ULL << 18); ibs_data->regs[ibs_op_msr_idx(MSR_AMD64_IBSDCPHYSAD)] =3D 0; return; } =20 - ibs_data->regs[ibs_fetch_msr_idx(MSR_AMD64_IBSFETCHCTL)] &=3D ~(1ULL << 5= 2); ibs_data->regs[ibs_fetch_msr_idx(MSR_AMD64_IBSFETCHPHYSAD)] =3D 0; } =20 --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011035.outbound.protection.outlook.com [52.101.52.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D31930F819; Fri, 16 Jan 2026 03:35:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534544; cv=fail; b=BnqN9f3KawUVIVrteyTysHeGObgSlm+zZAYBg6ZoZudSeRwBT57h0LaiLinGrL4N7H/cZLMOAuyxbabGGcl6Wcr8QOIiTBgxcF76KmS8JnNDR3E2pF9CSsGuOn6RucvBdsP6UnTWVk8v3m4y9p/B4pFk43u3wn3h5PNZOiKo/MI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534544; c=relaxed/simple; bh=yotcCtMHme7NisWv4keJkL+mQv/2YUGk2mL0lUlpkto=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=OtWugEi/2xXz56kPP3xMuXpcC3d/TRbUuOHmLYMCNFT2b8WolBaspws/SjRCsiw6IouxdOK5UJQJPLTjKr+FT7sHd01JRHKiiFffz/OWX4OH9RsTPakTS/17qHPVqynYBo8Y49Dv/IzbfsY5O8JAhR8f2mjvIkgzkAg352hPccs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=2RFt2Yza; arc=fail smtp.client-ip=52.101.52.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="2RFt2Yza" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S0sBOPo4ACJ3J8MmLR+ZZfrpcocbFDPindx8BD3GhHPbg2cou7dY3kluNGyx4yDJ/0FjgO1DuZWr07mhbtJpXim0S/cpRgKFGjtuZhRZCFG/IDzOPOkHB6d8enIZLUxtl5ZCqQbq2tMWP+sqXtGyhwDFw+9mC8Urv5B8lujde+EseJIzCDZMMejkqiEG24SVxNY8G8RoeK56EN5Uz/Bxf3VnQbtb3Iu40TWCOI6PxMO43ZLm9uA8nz2LLD71E2Ibo7dJ4HBkYBmnSzRXwuGcBFuR4hL3f2XF+2imB2j9W0er4zLherXIIoh6eVeXPhFax5jVWJPeu3NY/H1b0/ll8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZQhsQxPHmR4lk0Alo5MMGB+Klj8btRrbvRjO5KPGhYc=; b=O5k1tg9NeBlnTNCjm6RV/eYW7HXHnPcD99wY7fAHuAU9y5Pp+9qV5f/kk7K8dPKnfTh9PL84ZVZ9d47Si+suziEbdKJLHc87YN1NguNSg8c+kxew2d6qoYKOJuKvHe5HVhMDf8er9A5JOwoxgxdHPRC/gseiVDym5VjKKzx5qqFvrN1Xs9JfbwbBo0hCPwMsUz9dcNjWh5mZ7/3N0QBOv4ehS4v3VhbUfcsXKvrL16ibDLn8X/HFq+zEOVqBsN7T0DQyxNtJUbVscxOjnjFvXCYZaUC8NuYrMZ8rPHbKsj+JqQ85sSSmAwg2h3CdVj3raQ8MUzbG2iqgeGUQE9MMQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZQhsQxPHmR4lk0Alo5MMGB+Klj8btRrbvRjO5KPGhYc=; b=2RFt2YzafFDucTyMPSYSf3lIO9GZG4hsSxndLMxSTbHc/ovqZifxr+9vkkxDC4r4qw8WdpdImW6ByfqdQTnbM4XAksR0J0qF20gmBtheRUOTPeRjuAPiCqQgIIkepPDlTns7U5lM/REPQEWV9B6zlBpaKYPcYgzLFF2xShPQ/Mw= Received: from BN9PR03CA0633.namprd03.prod.outlook.com (2603:10b6:408:13b::8) by CH3PR12MB7596.namprd12.prod.outlook.com (2603:10b6:610:14b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.6; Fri, 16 Jan 2026 03:35:39 +0000 Received: from BN2PEPF000044A0.namprd02.prod.outlook.com (2603:10b6:408:13b:cafe::82) by BN9PR03CA0633.outlook.office365.com (2603:10b6:408:13b::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.7 via Frontend Transport; Fri, 16 Jan 2026 03:35:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A0.mail.protection.outlook.com (10.167.243.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:35:39 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:34 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 04/11] perf/amd/ibs: Avoid race between event add and NMI Date: Fri, 16 Jan 2026 03:34:43 +0000 Message-ID: <20260116033450.965-5-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A0:EE_|CH3PR12MB7596:EE_ X-MS-Office365-Filtering-Correlation-Id: 83508c57-0584-4252-6702-08de54b051ae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|82310400026|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?+IMwUCuCbJonqf7WqRdEz9MPqvj4n6chnq2P/C51fvIrXAxfgFBmmfVlRfD+?= =?us-ascii?Q?YP26ry591wQzHMprfu2s/gu/2iWOIaX6zXOy42Wi3ktFwXlVACv6PmkV43Yy?= =?us-ascii?Q?9ITMPYJJZHdahX+q7SJ8eLlsoqOaAIl5c/bgC6uvom0fPg633anlAYG6hFR0?= =?us-ascii?Q?6EPo1579ooDgWj4CHgEuh5BtWPa03qD2S4XWjxMYHK8AzkVZgl3FTpx2G9zJ?= =?us-ascii?Q?R3VghxO9TNcA5yTcZPFEPP9TMR7ENEx6HmDBhYlQGDWvfHXjROIYIc8JdXLo?= =?us-ascii?Q?5ioZ8QEu4RHso4MBjeZabxephoSAuAKZWkTJ9FO3kuMZ7UeKmBad2ITR54kQ?= =?us-ascii?Q?SzwNoennxnCvyYpKYfC9TwWKNMAE5sg5/CDRlg3DjaE5LWsCBOvWBEe863/B?= =?us-ascii?Q?lk7NHaOiiOnEYBtwPSVUOYL3ceLiJ45YdjvwTYQz4qhzFEf3sULZknAzi3e4?= =?us-ascii?Q?bnk9FIefCYJ0nu8G7msZlGT5I6f3BiB5VN7FhOJiFRpYA7t80YC4fMRScOEU?= =?us-ascii?Q?lAVe6Y3q7ubWfbpCaK8Ccu9l97c6T9RQa+LE+Zb+O3zYYtc+71/H0W8LXwOS?= =?us-ascii?Q?IoxvECJVKbBwMlokgsZJW+nme7zPtV4AKZthZVORfk1WuLf9s6H/BPVwybuv?= =?us-ascii?Q?HG/i0HsWwLhXTz12N0aL+KVfcqS8cat48O8KRt6Seh0HIYbQYZY3pvaqzrM+?= =?us-ascii?Q?HN9RNMhgqiLkJ7jspxZKQT4OK605gxp75EImtYH1l+Oq1g/zK0eDgtB9L6H0?= =?us-ascii?Q?O+giDi4gJpwQ9SKLFDw08FhHCiaYeu9Nt29CKq8EJ7ZYyqP5znQ00sJaAy8N?= =?us-ascii?Q?ZpOhxQuqblGTdK5mtTnKBt8df3yW1pqt/lxOQuke7yOHw8uL8TT3R0jeRA5T?= =?us-ascii?Q?ftMsruHJnkMOZXy852zOV1lz6TZxM4GLzkUXzsYaQHP0FpCWobY4dUIWsEeF?= =?us-ascii?Q?eBCOpDFlSMCIFj64aqd4SGkHDsPj0Yg/x0ucHkbRse3eDG5xNGZ7wJcVE+aV?= =?us-ascii?Q?lwwdLk+5/lKxt3lX5IzGrIO3ijmRI/XUNm9pyqKBz6k171mbI3axdICR6Nhx?= =?us-ascii?Q?eIFI82kcD6DfggAUAxWO5ZvFRUnlgOiMCxyjEENDPhiv5+9F6CWrGJSsuSnZ?= =?us-ascii?Q?PZZUl/NeJOuaSybU9r8Z/py1UOmieHQup9ajU99BqfMo6dDAniwmG80YgyCF?= =?us-ascii?Q?Te1iBKt7imdem7ICjhserMq4OumgHUJQSeW5ANBDWa7TGS6MTb8EJ260pJ7t?= =?us-ascii?Q?QU5UzPd5I/K97KlcvhDP7M1Tomw/G0v6LgaX68m6vSXgge1xw5SG8sBnxERe?= =?us-ascii?Q?J/TcDkZTvJyWPNj44EIzjTRZczffjUFUx5TTfraZU9xIEDatI5du/7mAz3bk?= =?us-ascii?Q?ZW9BSgZo+6PRB5yH0tAI7FbtCCZsU45DSQk6sBgg2TMD0mbUwqDl0m9vOV5S?= =?us-ascii?Q?Gfz8wTuaPflAWH2PKkmrJb3d9aYGTGoxa56BTJKDXhddJP7ey+zlSidjkvxp?= =?us-ascii?Q?wEEtWmSKd7J8qzX3DyfYlhGjFkbGmJfKGFSD++yjAh7uNGrutr5BuuQpzTCJ?= =?us-ascii?Q?PJX9cvCDqShuAwKI5Yltk76nILu7+FRc9kCWcDlUYsXbgEQKmtnmnpLKrN68?= =?us-ascii?Q?wnWs8uyHBiNbTA0HwSPhiRi3n3sODhQYZ+kU3djfS2JB1Ej98YsMdOl+bdqs?= =?us-ascii?Q?b/Adag=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:35:39.4123 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83508c57-0584-4252-6702-08de54b051ae X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A0.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7596 Content-Type: text/plain; charset="utf-8" Consider the following race: -------- o OP_CTL contains stale value: OP_CTL[Val]=3D1, OP_CTL[En]=3D0 o A new IBS OP event is being added o [P]: Process context, [N]: NMI context [P] perf_ibs_add(event) { [P] if (test_and_set_bit(IBS_ENABLED, pcpu->state)) [P] return; [P] /* pcpu->state =3D IBS_ENABLED */ [P] [P] pcpu->event =3D event; [P] [P] perf_ibs_start(event) { [P] set_bit(IBS_STARTED, pcpu->state); [P] /* pcpu->state =3D IBS_ENABLED | IBS_STARTED */ [P] clear_bit(IBS_STOPPING, pcpu->state); [P] /* pcpu->state =3D IBS_ENABLED | IBS_STARTED */ [N] --> NMI due to genuine FETCH event. perf_ibs_handle_irq() [N] called for OP PMU as well. [N] [N] perf_ibs_handle_irq(perf_ibs) { [N] event =3D pcpu->event; /* See line 6 */ [N] [N] if (!test_bit(IBS_STARTED, pcpu->state)) /* false */ [N] return 0; [N] [N] if (WARN_ON_ONCE(!event)) /* false */ [N] goto fail; [N] [N] if (!(*buf++ & perf_ibs->valid_mask)) /* false due to stale [N] * IBS_OP_CTL value */ [N] goto fail; [N] [N] ... [N] [N] perf_ibs_enable_event() // *Accidentally* enable the event. [N] } [N] [N] /* [N] * Repeated NMIs may follow due to accidentally enabled IBS OP [N] * event if the sample period is very low. It could also lead [N] * to pcpu->state corruption if the event gets throttled due [N] * to too frequent NMIs. [N] */ [P] perf_ibs_enable_event(); [P] } [P] } -------- We cannot safely clear IBS_{FETCH|OP}_CTL while disabling the event, because the register might be read again later. So, clear the register in the enable path - before we update pcpu->state and enable the event. This guarantees that any NMI that lands in the gap finds Val=3D0 and bails out cleanly. Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index 72abc474ec23..27b764eee6c7 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -490,6 +490,14 @@ static void perf_ibs_start(struct perf_event *event, i= nt flags) } config |=3D period >> 4; =20 + /* + * Reset the IBS_{FETCH|OP}_CTL MSR before updating pcpu->state. + * Doing so prevents a race condition in which an NMI due to other + * source might accidentally activate the event before we enable + * it ourselves. + */ + perf_ibs_disable_event(perf_ibs, hwc, 0); + /* * Set STARTED before enabling the hardware, such that a subsequent NMI * must observe it. --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011066.outbound.protection.outlook.com [52.101.52.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D0513128C3; Fri, 16 Jan 2026 03:35:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534550; cv=fail; b=lEy4g71jjUW3escXyBT026izj/pyF09NNvswX3HvKKHNOGkCC1G+VQZ99ZMNl01yfen19sOfW0OZXc43oAVBHYzoioi5w5cGr27ZyLRzqxJb3rjaqo0tZl3OJAKh8j7l9mmc6cJ8ItQHCbDK55Z2VhFz/qE2vzqI0mqK+vW1LZk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534550; c=relaxed/simple; bh=3I7jLR5QUuSUMjcpRkZF8CBTFEGM8VxwGGnb82rBpTQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UHleNCGhYUPHfFTLt+1E7yjFQrANn4ep+sjzQtE2MF1LAofGsVyvOdxUPtWqLciTLML9WGR4gncofQVbr5V5owR2Wvk9IBYMtQabxfqvx+P1DKDuaAcNqy3iJXftEFnQpKlRdsrOTdMBSB8+LElivY+RSOPB3fKmZOyGT/u9RZo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=YmD7T/0W; arc=fail smtp.client-ip=52.101.52.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="YmD7T/0W" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eaarz+E8RGopqddvcg5ujpEGNVmRmfLZrPVxaZd2yrg7lBXYkcQMuP5tl67Xi7U0at+UE2J7hLs8DRvFQEo1+30rRPcR1Q4NlNsKGMVeyPa6j1IhJ07LcsSTgIe4j80eFXhHJp05a/WZIo0Z8v4DC068ukz4cUZYXqA5ksL/3n+9OW6hbLYFFodZP7U7/n8KsnMeX5YMhx1XqoackmvJ8loiQgGE+GTQ8N6msVIodET9+UHvfGfmmGucz8eog4/7i+XHH63tADED52aLFRL7b3K+T8LzA4+H9VVN4wk5IRSysp67pll9tPXhUBSAa9Amw+FkK0Im8d3G4TQhxMKxTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=u2YuSBhhGaB6xUBp1FgWSzQbJy5JUfQDlVp4OjvxOL4=; b=Tc6hDY1evdSf7d4obfAhmUvIsV/F6UWaorxf/tIfdr3a9pc5vb6T6LqJVB173Eevg1fjv7WrkXxS1T+3LaEn+lDUiSM2GawTCy9xA/YTEwg9GdSrAHkqN3upI504BS+t9/riYUBVEUAQks5yh3svgjAYFomREVN+SenuGqsjEkIi3DgVbjW66J0eNyUi3YEaGDhaaJluQ0ngfJsU34WgINQs/+hW/GzL5stk/PgsKEaNycpZ966S0jvBTP5kcdznLxUIPOIt65xwKdg0OpH5I/UPSqKYBhdiLx42tNj3BYSxJ/+eurmzOGgUrMIhsn+aOlWfPkA+PW85RCWZx3x/3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u2YuSBhhGaB6xUBp1FgWSzQbJy5JUfQDlVp4OjvxOL4=; b=YmD7T/0WHMtycc87YGaiPaKXemqLUiSoq61V1bU4jXuRq9tv5EUXr3mapexUrO82cQZuUm2WEiDU51ynRz8phbMAUMmFToVrXUhpvgVCs6/ZpB+dI/O2I4FDvr4BW+Rj/WSaQ8ERCmgGAwerHspXi9oZKFXZlBfP1T6ReLrxArY= Received: from BN9PR03CA0482.namprd03.prod.outlook.com (2603:10b6:408:130::7) by SA5PPFCAFD069B8.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8e1) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 03:35:44 +0000 Received: from BN2PEPF000044A4.namprd02.prod.outlook.com (2603:10b6:408:130:cafe::65) by BN9PR03CA0482.outlook.office365.com (2603:10b6:408:130::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.5 via Frontend Transport; Fri, 16 Jan 2026 03:35:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A4.mail.protection.outlook.com (10.167.243.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:35:44 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:39 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 05/11] perf/amd/ibs: Define macro for ldlat mask Date: Fri, 16 Jan 2026 03:34:44 +0000 Message-ID: <20260116033450.965-6-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A4:EE_|SA5PPFCAFD069B8:EE_ X-MS-Office365-Filtering-Correlation-Id: 89fac29c-f62d-4050-034e-08de54b05486 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?VZXHQkuW9LpAppVatlOPJgrrRW5jDb6eMJiB0Yu6dP858P4gKzgJXnZYni0b?= =?us-ascii?Q?HXOogu39T2o/BkrLFDXChcurx4e8dqlmXfcCcZQOw7HlLiK6ZDyc/yzcSbRe?= =?us-ascii?Q?F6+C3jK27fkxMEC3wDeBDDH+1jL1qVrZKw0fOD15iR9KlePqxoAhCQ6quMNv?= =?us-ascii?Q?rKNi92rXIVeukk7/OIU0QEev6kHxk7Q6084P9AiS3NF+C8oUrSgizZPLLEiX?= =?us-ascii?Q?vAti6/lEkCblWfeW00UiI6eWIJxHRTKzxYh31E/dsR7KLHFXS8UkmqXKBE1k?= =?us-ascii?Q?TgOWYxtcAJHfNR+1i8oxnJgiKWLuW7D0Ja/MpByDzHmfo991PyqGyLV5m07p?= =?us-ascii?Q?rybUfTB2UnMdkIiqIBgFeGRAtZzTHfdH2i+5s5jKwg6QN7gYKBaQVZA0U9HN?= =?us-ascii?Q?vQUkrqAWlOiq7yn1jp5VCKunw2mBUUeRz0OoSf5z9ny3YW2sLgi5rqh15Us0?= =?us-ascii?Q?IKK+qBiBt/lc82j0xnVrcpDOAblvCRjhLj+POLICTvWeLG2x6alW6gGNKsMc?= =?us-ascii?Q?wQZMPQuFFf2i4Iz6XoMk3GVZGkOefHmScOoL2jayoc6LGOgIwAEpnrLkPP7Z?= =?us-ascii?Q?0ZLepUOpf6WvOWYD0V1Byu0ICwPnYTzNIofzO+Vp1K/2FgCuWqNfrbVfFXas?= =?us-ascii?Q?28iETEa62ddofjYnim06gY8SZ9XGk3nlYeaJyYD2KBxJE9aetckbbLQBA845?= =?us-ascii?Q?WwMmIE/Dkkkk3f0oECgyATmedUf7AGa7aPYYk57h0AfomLTJCOHgxXfahidJ?= =?us-ascii?Q?kgr+gBR5lSdhDFXrq7wdNy7jP9Vmcx5BdemwJJH2eY40OM26Vo4/nKDnmivS?= =?us-ascii?Q?R4GM+GQM+5A2yxM1XVqgDV6QIU05J/oHK957Ovaw5g33njUm13kOYePMEiif?= =?us-ascii?Q?GplAIkRCzEOff8TrqvlP40ZdhMRgWfY8i7A98rA6/GYhpoIAbRoQpK3cykRe?= =?us-ascii?Q?5OttpVSZrWhe3fqeu2BnkiuV2Ov0N3r07o+kkY2Jw6FMVFv8LQ81YvXYi/fR?= =?us-ascii?Q?ZcW3TIkgZT3WU3NIj3ajp5FMWUgtHgSmRh8tKa3P/9rRmgZf7ZBdM+ACBTw0?= =?us-ascii?Q?IJpgMuBJ5zr8HUPh9AToTMqPhStk6FpsphQ4tbvy7aqL+TW8iUKi+DYKrdW2?= =?us-ascii?Q?kVyuVi2+ANkAoErl7ElP99gTXCv01iM3iibSSKaViIDCEmgyBJRSkagln/lB?= =?us-ascii?Q?qKxjtTc6dymq6ABqJ9PmQXq4XeAJW7f0b/nyGtDsbY0CeTwsbb4ash4MlcIf?= =?us-ascii?Q?JjTLpxFWe+bng9UAOfk3PAPc2Uddi95G1szPxVnY76EUuiOgROpWFDSbLvyp?= =?us-ascii?Q?iBSAYN6XkBKT8TKmSPUpbqSgJAOIFGAasMaApgluaDcpuH+/XYlG9xgyT35x?= =?us-ascii?Q?l+SvM2eRPfXY7oA8ueXZQTq95QTcZa8UEgMmrfbHG1sIUWVnIhu44MhKVxrc?= =?us-ascii?Q?92Wp9kyHq8Z7ZdDxxGWfyexBskuFKTPYaohdbi66JmShoDRrYYGEusSYqdCC?= =?us-ascii?Q?snwo5skOM4QuZdj/kKPlawTjnaVXARdbq2i5rnrZ6ALPf49ldFt+OCK/fR21?= =?us-ascii?Q?NL9EbKCKlIKqUjjewOm0H2kuJuHbhp8lzYWn+m1jH1Iv7DFvHc/0H1PNRjxv?= =?us-ascii?Q?d8fX0zd//4QYEEiOhucy+fbi0eYi9KM6uteJRmfx3VV+qXRT/S8M216Xg2E3?= =?us-ascii?Q?f1lrwQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:35:44.1800 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 89fac29c-f62d-4050-034e-08de54b05486 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPFCAFD069B8 Content-Type: text/plain; charset="utf-8" Load latency filter threshold is encoded in config1[11:0]. Define a mask for it instead of hardcoded 0xFFF. Unlike "config" fields whose layout maps to PERF_{FETCH|OP}_CTL MSR, layout of "config1" is custom defined so a new set of macros are needed for "config1" fields. Signed-off-by: Ravi Bangoria Reviewed-by: Dapeng Mi --- arch/x86/events/amd/ibs.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index 27b764eee6c7..02e7bffe1208 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -32,6 +32,9 @@ static u32 ibs_caps; /* attr.config2 */ #define IBS_SW_FILTER_MASK 1 =20 +/* attr.config1 */ +#define IBS_OP_CONFIG1_LDLAT_MASK (0xFFFULL << 0) + /* * IBS states: * @@ -274,7 +277,7 @@ static bool perf_ibs_ldlat_event(struct perf_ibs *perf_= ibs, { return perf_ibs =3D=3D &perf_ibs_op && (ibs_caps & IBS_CAPS_OPLDLAT) && - (event->attr.config1 & 0xFFF); + (event->attr.config1 & IBS_OP_CONFIG1_LDLAT_MASK); } =20 static int perf_ibs_init(struct perf_event *event) @@ -349,7 +352,7 @@ static int perf_ibs_init(struct perf_event *event) } =20 if (perf_ibs_ldlat_event(perf_ibs, event)) { - u64 ldlat =3D event->attr.config1 & 0xFFF; + u64 ldlat =3D event->attr.config1 & IBS_OP_CONFIG1_LDLAT_MASK; =20 if (ldlat < 128 || ldlat > 2048) return -EINVAL; @@ -1302,7 +1305,7 @@ static int perf_ibs_handle_irq(struct perf_ibs *perf_= ibs, struct pt_regs *iregs) * within [128, 2048] range. */ if (!op_data3.ld_op || !op_data3.dc_miss || - op_data3.dc_miss_lat <=3D (event->attr.config1 & 0xFFF)) { + op_data3.dc_miss_lat <=3D (event->attr.config1 & IBS_OP_CONFIG1_LDLA= T_MASK)) { throttle =3D perf_event_account_interrupt(event); goto out; } --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010054.outbound.protection.outlook.com [52.101.193.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AC10518B0A; Fri, 16 Jan 2026 03:35:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534555; cv=fail; b=iFc4d9VZw+/nRGsSSjwtXmzLb31u6AgV/ytxVE5tQC3Gz33lftsqjwIPHaVzygcDTgEu7Cjkancj9bPeZu/HPr6zrg2no677GnLNBRr3o0KgU8zBeq3tVHAoRPrqngBHIOmikpPp+a3uCPUvbKhWVAnqPetdqJZWCQYMMGix27A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534555; c=relaxed/simple; bh=8n/0E3hLRcsRlVCg/RwY8m+4Qt4uX6oQVpv6DPJq9jI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Rs8fWu/Mk0qZDDRhBBdCtd9bLf5sG1wM6LhiBJZawFrbAwCdEnc6f+LJIrYY9nXhdzJVUGTKHZVBsHZRKyFCKCOj0hwWsmbhDZBs7Am/VM2kAq/W2PVDL6tWfmGDBdLrbQ0ukEZrikdUEdLwLW5VxU8e9h8vivSVnGz8BHy6Jgw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=jqF/tV5K; arc=fail smtp.client-ip=52.101.193.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="jqF/tV5K" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=K31ysM74CdmICzbCg/EEprRDyXC+utl418dX0s1rVS4oCcPOnN3afZQNH2weXQcFds5QqvJdV0YdcOQfAqXUWVeH4a4kcpMTlPBUZ4vwcseeokN5pXGaflJY/ke9sh1z7BQBwylzPLsqIjzmuiOGH5x+NtPP2p0GBrzC0pQP7xyksaumjowyAQW14nb3lvfHrWqKk5bQeXmyP5x23j4MNc9rf/U+RJ1TZxx+ry+1jw3J0+zbmQMNZVos6zETwipZqf7R09oXY1DhEaknj+If3dlFVXmBsU+ZdkZikFfKYzkSSYAvlqxTHPDNpNu6ac90s0sk2BHfnja0sZ/pQzPHrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tyAY5MKJ1PWPDzdiLIM329q3h8kSDfghS+vtfkTUxeE=; b=ft5XWlfuj8oTSXUtnhRshVQOa3dGGqEwJdhMa3+HgX4qhkaPND28990f8Ti/i2oT52/RnaHUewErph5pps10POhDP+pFrW6CJAYuPrXtE0jdEniXxFEqGARQS/pg0lsHsnaePErP6YW66mQtVT037hNTfMj2/B18xcrpyWutEgE+Ck7oWba8xOs2XcJOvISklEuhzNflQBKEb4i8McdUc8V73fwsrL+rWqByAfV88Tn5Wsvr6zN1oYFMjgr76e2Y7QYYvP5WyqlUjxWnv8VSLvFpnQ29/urA1McrBXqzG2xATomSZPjxB+JpxLk2uEIP7BTba679G5gG2aynY2SOqQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tyAY5MKJ1PWPDzdiLIM329q3h8kSDfghS+vtfkTUxeE=; b=jqF/tV5KmPBHnddznnsxljocKClGcX0NS4Ra6se++/SvtVYNyM3BYoRBSkiseGfirf9snjEwALg4Wo6qjQucfvK5rRF5CZdxKeMFe7udVHd6F1VXNi368RnFYEuhg2JArSxckDRBMsRBBCGzEWaoGZ/fevMHWThuESPQCReEkJA= Received: from BN9PR03CA0687.namprd03.prod.outlook.com (2603:10b6:408:10e::32) by IA1PR12MB9467.namprd12.prod.outlook.com (2603:10b6:208:594::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.6; Fri, 16 Jan 2026 03:35:48 +0000 Received: from BN2PEPF000044A2.namprd02.prod.outlook.com (2603:10b6:408:10e:cafe::bc) by BN9PR03CA0687.outlook.office365.com (2603:10b6:408:10e::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.6 via Frontend Transport; Fri, 16 Jan 2026 03:35:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A2.mail.protection.outlook.com (10.167.243.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:35:48 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:43 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 06/11] perf/amd/ibs: Add new MSRs and CPUID bits definitions Date: Fri, 16 Jan 2026 03:34:45 +0000 Message-ID: <20260116033450.965-7-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A2:EE_|IA1PR12MB9467:EE_ X-MS-Office365-Filtering-Correlation-Id: d4a9f607-2aac-4b29-ed49-08de54b0574b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|376014|7416014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?0DKtACxu4j2nK/TvPyirQwrFmrfyOSmb9/oEoZVh1jC5hpSuY5OY99M3MEE6?= =?us-ascii?Q?TI97E1fAByQLagYH7xjNiSrUf+q3qE99OAZt/fo6ZQxdncoqEGurEoxEkzT7?= =?us-ascii?Q?jsnrKEIqzKlZVSSHldpS7nENwtDFOwjUf6+5AswOAO7WVGEcACNzac5MiIIX?= =?us-ascii?Q?7ZxWKJD1Oza6/3r+gBU1kCqecDSrsrS3cu+Cg835sfWzbiDgtHgzKM/nEz04?= =?us-ascii?Q?PNK7LzWWMy8wvCqer0gMNNo1t/893lV6OkLpXa3tThPPaqWhpB8Fqq7COm+i?= =?us-ascii?Q?c1Ut79UvfFpvkx84kLHnfspYNAuSw6YAX7U3Drywd5DHdRl3vFR74D0A9j9o?= =?us-ascii?Q?geVBXcJNq2GrKwcsdI+rDPckYhrq0m569cVnTsf95GlNPZNb3s3Fz2IdII9m?= =?us-ascii?Q?9siYwN7T2QIMdGiA7IFtK5JRo8LmBxDyPKfdz/tRslPDQxTAWljBFgSy/3Zt?= =?us-ascii?Q?ha+AoE3zU01sI/TxRc3Yp/Swm9RDobDhxiT19zAqGGSkkHWTb00DAKl1PlTN?= =?us-ascii?Q?c2JkX/u/DhgDChDMaEhrYPSDF+mqalfOICj7NFnWEBuRV13YZIFJnr+gosdo?= =?us-ascii?Q?8+voT2vET5QLAI5/VLpfns3ebRH7bQAAippgrxcGcgS4C94nq2cb3sNJYYl3?= =?us-ascii?Q?tob3KPdbKVeAVNVmgiFRmd8179HsSUUO4ps6LewB8KfeNelM5wXcAdfAj4qF?= =?us-ascii?Q?NZiTMVFR0j6C9VDiwcnnXFyBVoWNYqt51n7uk2wJmDw/qypQDPFz+yrTil7J?= =?us-ascii?Q?WwKRCbquv5FfuqNXNidxIqzxy1UocKegnQS4QTPxq0w2d6HGm0HHGPhLMwtF?= =?us-ascii?Q?3phModNobxjYHEwYJIjHDb50XBAjLrq6lJvIm8jLCkTwipTGaW3Nhha724Nw?= =?us-ascii?Q?xODqoJTc57Cpz1dBJ0DrTZ1lyT8VeEy5wZob5I0xUXgnveGCdIa1kyq50etv?= =?us-ascii?Q?b0SdbuzUdgO+VQm6w+t6mSWCeZa1U5uoZskjnTEEcllkp35s4uNfDx78saPb?= =?us-ascii?Q?WWE8co/LSw/nGMBywfaWYtxzekcP73rijQnIUZQSB58zB10p34HKZLPhhgpy?= =?us-ascii?Q?1fLsHz/wCVkqexDu55mfDL+0nY5IQxfMqirok357uJ9ztoVkwdSbWs6xX/w2?= =?us-ascii?Q?fgu735cvJn+NBlP/2othDTyTsPlduTqo5dCo+vtVempfwYaPn20NgzYuP7BI?= =?us-ascii?Q?E4MsRpEWZCntMPR1tSjGyaRIju6AXqnA3GtwRU2fS8x40prpd0cXp3ftYxRR?= =?us-ascii?Q?jECRfwq4JZi8WPoWryXrj5xY/T/sKJfiN8/ob6sYXTTot3tvLuF/3rOaoc+K?= =?us-ascii?Q?8kCAmjXxQzLbFpgZ2Kski5B58ht9DD887vZmIXFbFOOi1JwL2KnTqfkiL+VR?= =?us-ascii?Q?XI4rQW0BgX15kYS4c0+WBBkO9ttBxZ+IdQCN7iLwNe2TYxkNXwV82Zpaz4Ul?= =?us-ascii?Q?/0+YYHB2hPw/jFjuwe5hL2S5zYhCf7Ys9CvN0pYk8wRRgu0Be2lwr8iSXDdm?= =?us-ascii?Q?3NDUS0eM3c3i245pImE/76HjmctTQAN3fdXFuNacAu4FkazvzC30IFavUytM?= =?us-ascii?Q?RRx8lvScd5WwSA7f+GLbPiVVa8L/8x93u9SKkfIZyXcwPMEj+SMy1ZH00duW?= =?us-ascii?Q?2JjevZRk2flwg+n4fKiFn1UaasvLVkpuqTO+sE6Q8duNEW7v1U0tlsPLiZxC?= =?us-ascii?Q?acxOIg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(7416014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:35:48.8324 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d4a9f607-2aac-4b29-ed49-08de54b0574b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A2.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB9467 Content-Type: text/plain; charset="utf-8" IBS on upcoming microarch introduced two new control MSRs and couple of new features. Define macros for them. New capabilities: o IBS_CAPS_DIS: Alternate Fetch and Op IBS disable bits o IBS_CAPS_FETCHLAT: Fetch Latency filter o IBS_CAPS_BIT63_FILTER: Virtual address bit 63 based filters for Fetch and Op o IBS_CAPS_STRMST_RMTSOCKET: Streaming store filter and indicator, remote socket indicator New control MSRs for above features: o MSR_AMD64_IBSFETCHCTL2 o MSR_AMD64_IBSOPCTL2 Also do cosmetic alignment changes. Signed-off-by: Ravi Bangoria Reviewed-by: Dapeng Mi --- arch/x86/include/asm/msr-index.h | 2 ++ arch/x86/include/asm/perf_event.h | 52 ++++++++++++++++++++----------- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-in= dex.h index 3d0a0950d20a..d8b3f3abe583 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h @@ -693,6 +693,8 @@ #define MSR_AMD64_IBSBRTARGET 0xc001103b #define MSR_AMD64_ICIBSEXTDCTL 0xc001103c #define MSR_AMD64_IBSOPDATA4 0xc001103d +#define MSR_AMD64_IBSOPCTL2 0xc001103e +#define MSR_AMD64_IBSFETCHCTL2 0xc001103f #define MSR_AMD64_IBS_REG_COUNT_MAX 8 /* includes MSR_AMD64_IBSBRTARGET */ #define MSR_AMD64_SVM_AVIC_DOORBELL 0xc001011b #define MSR_AMD64_VM_PAGE_FLUSH 0xc001011e diff --git a/arch/x86/include/asm/perf_event.h b/arch/x86/include/asm/perf_= event.h index 0d9af4135e0a..6f5ec5c9d5b4 100644 --- a/arch/x86/include/asm/perf_event.h +++ b/arch/x86/include/asm/perf_event.h @@ -639,6 +639,10 @@ struct arch_pebs_cntr_header { #define IBS_CAPS_OPDATA4 (1U<<10) #define IBS_CAPS_ZEN4 (1U<<11) #define IBS_CAPS_OPLDLAT (1U<<12) +#define IBS_CAPS_DIS (1U<<13) +#define IBS_CAPS_FETCHLAT (1U<<14) +#define IBS_CAPS_BIT63_FILTER (1U<<15) +#define IBS_CAPS_STRMST_RMTSOCKET (1U<<16) #define IBS_CAPS_OPDTLBPGSIZE (1U<<19) =20 #define IBS_CAPS_DEFAULT (IBS_CAPS_AVAIL \ @@ -653,31 +657,41 @@ struct arch_pebs_cntr_header { #define IBSCTL_LVT_OFFSET_MASK 0x0F =20 /* IBS fetch bits/masks */ -#define IBS_FETCH_L3MISSONLY (1ULL<<59) -#define IBS_FETCH_RAND_EN (1ULL<<57) -#define IBS_FETCH_VAL (1ULL<<49) -#define IBS_FETCH_ENABLE (1ULL<<48) -#define IBS_FETCH_CNT 0xFFFF0000ULL -#define IBS_FETCH_MAX_CNT 0x0000FFFFULL +#define IBS_FETCH_L3MISSONLY (1ULL << 59) +#define IBS_FETCH_RAND_EN (1ULL << 57) +#define IBS_FETCH_VAL (1ULL << 49) +#define IBS_FETCH_ENABLE (1ULL << 48) +#define IBS_FETCH_CNT 0xFFFF0000ULL +#define IBS_FETCH_MAX_CNT 0x0000FFFFULL + +#define IBS_FETCH_2_DIS (1ULL << 0) +#define IBS_FETCH_2_FETCH_LAT_FILTER (0xFULL << 1) +#define IBS_FETCH_2_EXCL_RIP_63_EQ_1 (1ULL << 5) +#define IBS_FETCH_2_EXCL_RIP_63_EQ_0 (1ULL << 6) =20 /* * IBS op bits/masks * The lower 7 bits of the current count are random bits * preloaded by hardware and ignored in software */ -#define IBS_OP_LDLAT_EN (1ULL<<63) -#define IBS_OP_LDLAT_THRSH (0xFULL<<59) -#define IBS_OP_CUR_CNT (0xFFF80ULL<<32) -#define IBS_OP_CUR_CNT_RAND (0x0007FULL<<32) -#define IBS_OP_CUR_CNT_EXT_MASK (0x7FULL<<52) -#define IBS_OP_CNT_CTL (1ULL<<19) -#define IBS_OP_VAL (1ULL<<18) -#define IBS_OP_ENABLE (1ULL<<17) -#define IBS_OP_L3MISSONLY (1ULL<<16) -#define IBS_OP_MAX_CNT 0x0000FFFFULL -#define IBS_OP_MAX_CNT_EXT 0x007FFFFFULL /* not a register bit mask */ -#define IBS_OP_MAX_CNT_EXT_MASK (0x7FULL<<20) /* separate upper 7 bits */ -#define IBS_RIP_INVALID (1ULL<<38) +#define IBS_OP_LDLAT_EN (1ULL << 63) +#define IBS_OP_LDLAT_THRSH (0xFULL << 59) +#define IBS_OP_CUR_CNT (0xFFF80ULL << 32) +#define IBS_OP_CUR_CNT_RAND (0x0007FULL << 32) +#define IBS_OP_CUR_CNT_EXT_MASK (0x7FULL << 52) +#define IBS_OP_CNT_CTL (1ULL << 19) +#define IBS_OP_VAL (1ULL << 18) +#define IBS_OP_ENABLE (1ULL << 17) +#define IBS_OP_L3MISSONLY (1ULL << 16) +#define IBS_OP_MAX_CNT 0x0000FFFFULL +#define IBS_OP_MAX_CNT_EXT 0x007FFFFFULL /* not a register bit mask = */ +#define IBS_OP_MAX_CNT_EXT_MASK (0x7FULL << 20) /* separate upper 7 bi= ts */ +#define IBS_RIP_INVALID (1ULL << 38) + +#define IBS_OP_2_DIS (1ULL << 0) +#define IBS_OP_2_EXCL_RIP_63_EQ_0 (1ULL << 1) +#define IBS_OP_2_EXCL_RIP_63_EQ_1 (1ULL << 2) +#define IBS_OP_2_STRM_ST_FILTER (1ULL << 3) =20 #ifdef CONFIG_X86_LOCAL_APIC extern u32 get_ibs_caps(void); --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010026.outbound.protection.outlook.com [52.101.56.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E6FF3128C3; Fri, 16 Jan 2026 03:35:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.26 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534562; cv=fail; b=u4sXoNiSjJEs9bmG8UkM//g+XtToHxcDDVJ3FEnRRVlOiEZRu8YIsN2iAevlJWV83q/Dg+QW9VvGnMzoh5ZFGgtX25+4GpnFJmHJRX+feuSRhR0g8qrEW1GurMYWohYHLExQzEMK6y6WzXPFnCTMJWZpfReG4nvStHcrUhCH9vg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534562; c=relaxed/simple; bh=Vs08s5NdLNyJJEEOZGj9d5r87/epEjeho1b7MTdLJGw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sEY03/OqyTQV0GEFNF18vjD51Oq0ZBvsVqhhV0BkN+PM74DWlz2mCRM7mDfUPjgp/z/oIeQq7J+yKbv5YvZ8d8luy0XMVE7KEYKUrbwNUWQeFwMO0EkclR9oPwkMLdcdfi0NzRWLYx2kBARVsUDUqF3cdiVRxASR3R4o0hUvQhA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=N8eyhN9L; arc=fail smtp.client-ip=52.101.56.26 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="N8eyhN9L" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i2McXhs0Xq1d3uU6MDWUPa0sKcEOOq26mNP/KHf2oVp5FJiBS9VnijO/4YD1RZfIH6NPX6t0hT21k7hBe+vyC08FTwMsjQfKIoHUlLM5LGRHlWS2er/7H9cJO94nVK2APaf5FiSUnJ2yMPWx1uhMO5YPPXQ6LZ3xA7Ex3wnW13kAT2zd5YnPScBnEwhBGUnokLC+EJry8E6wzZa8IHO21f5ijReAX1z7+sLmNN+kohd/z8eag9l6u6HrsZqHxkpYqf6k/HYj0eJxoHLyzlWJmh5WV+2CgzfEK0rTtlOAqiZ/rk3io39yEPQQ5i9ceaoVnnEpWtSZQzn16+sTv88xDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IN+VqDW7g2k9ae4p1WO7wIEj38vPhncDns2YoELuxSo=; b=Z63IoP+irGFRR1kXdXr3aWzD/MC5pdKLSuhB98aa6brG9c6d5L42enaENotwRX6TpLBAO4/kvoalhTUZG8jhyZqAd6TIwiFYoN+vUDWL5uOrzpmhV+/+Zq6JhhjSoB8o8r3CS0RDJTNCCrhi9afNj2dbGRtaDja/XUarpicUKW2zv6z6ZB5oNyCF35QcSS7VAGpO86dspVb/J2NMsWbw72KzouqKmel4DKJ68gkeu7/cR3tA+tNBan8YhaV6oMOrqkW0EFYwmOejPkELsyl9w5A+y5NdMiP+yr3Cgao9zcLTrQKEOcSS3qJ3VC8MlO0Vh7hjHwAN3NITkUBwnuLw2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IN+VqDW7g2k9ae4p1WO7wIEj38vPhncDns2YoELuxSo=; b=N8eyhN9LGN3sJt+D0FX7Eh3Xz9bMgUyXNgfnQiBzditzmdFhK+SqwtxPoTjrdnA3fCFsvRI+zBYUMSbnpW0asU8/ZHcBe7ainvfqdxiBb9LJpWcvnnK9MSjEiUSStY+fg0Y/Bq1pHyhrogDZtWMCnDdhXQizYrHDp60w9bkq4eE= Received: from BN9P222CA0022.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::27) by LV2PR12MB5822.namprd12.prod.outlook.com (2603:10b6:408:179::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.6; Fri, 16 Jan 2026 03:35:53 +0000 Received: from BN2PEPF0000449E.namprd02.prod.outlook.com (2603:10b6:408:10c:cafe::45) by BN9P222CA0022.outlook.office365.com (2603:10b6:408:10c::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.7 via Frontend Transport; Fri, 16 Jan 2026 03:35:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF0000449E.mail.protection.outlook.com (10.167.243.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:35:53 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:48 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 07/11] perf/amd/ibs: Support IBS_{FETCH|OP}_CTL2[Dis] to eliminate RMW race Date: Fri, 16 Jan 2026 03:34:46 +0000 Message-ID: <20260116033450.965-8-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF0000449E:EE_|LV2PR12MB5822:EE_ X-MS-Office365-Filtering-Correlation-Id: d135a950-6223-4abd-f76f-08de54b059f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?MHxJmROwPhTxtmU/lCn5uyPmR8HuHRqSFbej6N6C6Z15nfV1Q0IJVMsAuHv4?= =?us-ascii?Q?vkBp8/ig7wOs1jhqXSQXnt/CNuRQ/clM7xwhakyLNOcIrFh8H1TblDrK9BO1?= =?us-ascii?Q?j8PgMAxVhHv//ziQGqX9Ys2cacE8olxFWdfVaQEzdAevQySbgYgeWfggN4UN?= =?us-ascii?Q?GhqqEEDAFvijOGYZP7zwgJdxCG0rHkKFBwzt1sVFz7tXWNQ4ath/fgCj3UoP?= =?us-ascii?Q?NLFYjFyyxE85fvTWijtcdgJAtkVTDCyGBX0tHe9Bs/ULfH9Xd1m5gs3JKse0?= =?us-ascii?Q?WnwxLfYcla049B/nqifew10oKJNMGQJ2aSTQFmy3C8HhSbPnpr5YeCkhjJl0?= =?us-ascii?Q?86Rh6djtcv8Pd14GFsfNIOwO8odhDjNDYUwdPwgZCygtUhoXTSAEwIETifA2?= =?us-ascii?Q?e0VzdNGSiA1/LuxQJUSOIY06N9NRDNU/qU2LmWkyQhyUIZLPPE0z8YUC/GwD?= =?us-ascii?Q?VmvmUZU7p6Kprlzo2+OS8xIwtlkkdJkWWa4uN2By1rO08Y9wP9LjR8Xe8kd8?= =?us-ascii?Q?V4ix8IESKqbtjSEQ2ivcDYkz72OPPeGXVuuk44KAaRNxPYhGGEnk0k+iWC9+?= =?us-ascii?Q?z3UMrwdOzlO819lXj+X994/NfGKEuFRMya4sNDlyWENHzDNSRz4Gtyl6Axzv?= =?us-ascii?Q?QwHdCOw7zLYrhzA1QTvF4/b2+dnlLnWLEDIIxV9v0rn0w1phC8Qehw9I9Lx7?= =?us-ascii?Q?e2TjuHtDjCEbYuFBBz/WVaoeq1WNdAr0fp9H/FtiL50zrvzNTIzRwJ8FqdeG?= =?us-ascii?Q?6zqoWbvk1NgRxyMhTNKECIX3jG+afX3tjulGjTbJ1P9izIGysekghG/P8hRz?= =?us-ascii?Q?VPHKl7e55upopc55Ls53L0OAwcme8zHAGL3oPFOincY/Th83Ty9rVVfVmiYZ?= =?us-ascii?Q?/wOj9jVjK5E51o6TT1ju0rvPuidPtaIy1klMEcAaHQXW3Ciw+yKr1uLk5jsC?= =?us-ascii?Q?iE1c6tgjFf9HWHfm3oo68JJaocoEWPjpRTUUQU1YeWMOGBEoTpqBKedb9f8+?= =?us-ascii?Q?L6/LF6wx/viR7AcyI0o2YXldr9VS5n8gEopTbV0f9km6q5k1vY0uEG/9YFIL?= =?us-ascii?Q?EooFmCE2CksiZu0gZKja6UVZHfsXLaq4whZCuH3rZffWApwVjXpbfWprikow?= =?us-ascii?Q?lx//AtSAlAPQmFNu82QQcuOUDEUn2VHouRT1Xq2WQ9f1URD3Tz38TnKPXYy3?= =?us-ascii?Q?XcQPQOqOHHN4ifWeQjQOig3I8G6GUiCD8TULBdscFhDW7m3aYPCkpaD7uFs1?= =?us-ascii?Q?nkbFktqJ6okvbp+uVWLrfBjfnTE/CCk6taxvCpX1yS1tMQ9qj7+lOBboBFZR?= =?us-ascii?Q?8v8akPze94J3cFLnrGPTnkq/buTNe715PY+7L/3Ql2YgjZyy71+46l0uoNZW?= =?us-ascii?Q?Bp8QwElWnoj2AUSOYGmAsO/joCyqrodVl81Op7NnnCA9eIZg6eg6uQXlOr0M?= =?us-ascii?Q?m1W9Q1ycpQtOfbjvGu2svRjl2MitIssFR9mSrj0F++N2zf09pvFQDye7WHnr?= =?us-ascii?Q?666Z/ASvTH3ffctkqyHXAH+oAqujwGbwqBu7mN9cWmTJpEIPsR6G/12Z8qZx?= =?us-ascii?Q?3CcjoN0/H10/LakazzCTZfWHMLNmRhqUoJkQgBl+bccGBNTweTmZQETxgXcj?= =?us-ascii?Q?gD1qNY8DzzuwqgRpZ1lkzxarAa9Fetyzuih9VTeaf1grf3SWf/lfzltHKXcL?= =?us-ascii?Q?I1pwOw=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:35:53.3031 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d135a950-6223-4abd-f76f-08de54b059f5 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF0000449E.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5822 Content-Type: text/plain; charset="utf-8" The existing IBS_{FETCH|OP}_CTL MSRs combine control and status bits which leads to RMW race between HW and SW: HW SW ------------------------ ------------------------------ config =3D rdmsr(IBS_OP_CTL); config &=3D ~EN; Set IBS_OP_CTL[Val] to 1 trigger NMI wrmsr(IBS_OP_CTL, config); // Val is accidentally cleared Future hardware adds a control-only MSR, IBS_{FETCH|OP}_CTL2, which provides a second-level "disable" bit (Dis). IBS is now: Enabled: IBS_{FETCH|OP}_CTL[En] =3D 1 && IBS_{FETCH|OP}_CTL2[Dis] =3D 0 Disabled: IBS_{FETCH|OP}_CTL[En] =3D 0 || IBS_{FETCH|OP}_CTL2[Dis] =3D 1 The separate "Dis" bit lets software disable IBS without touching any status fields, eliminating the hardware/software race. Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index 02e7bffe1208..d8216048be84 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -86,9 +86,11 @@ struct cpu_perf_ibs { struct perf_ibs { struct pmu pmu; unsigned int msr; + unsigned int msr2; u64 config_mask; u64 cnt_mask; u64 enable_mask; + u64 disable_mask; u64 valid_mask; u16 min_period; u64 max_period; @@ -292,6 +294,8 @@ static int perf_ibs_init(struct perf_event *event) return -ENOENT; =20 config =3D event->attr.config; + hwc->extra_reg.config =3D 0; + hwc->extra_reg.reg =3D 0; =20 if (event->pmu !=3D &perf_ibs->pmu) return -ENOENT; @@ -316,6 +320,11 @@ static int perf_ibs_init(struct perf_event *event) if (ret) return ret; =20 + if (ibs_caps & IBS_CAPS_DIS) { + hwc->extra_reg.config &=3D ~perf_ibs->disable_mask; + hwc->extra_reg.reg =3D perf_ibs->msr2; + } + if (hwc->sample_period) { if (config & perf_ibs->cnt_mask) /* raw max_cnt may not be set */ @@ -445,6 +454,9 @@ static inline void perf_ibs_enable_event(struct perf_ib= s *perf_ibs, wrmsrq(hwc->config_base, tmp & ~perf_ibs->enable_mask); =20 wrmsrq(hwc->config_base, tmp | perf_ibs->enable_mask); + + if (hwc->extra_reg.reg) + wrmsrq(hwc->extra_reg.reg, hwc->extra_reg.config); } =20 /* @@ -457,6 +469,11 @@ static inline void perf_ibs_enable_event(struct perf_i= bs *perf_ibs, static inline void perf_ibs_disable_event(struct perf_ibs *perf_ibs, struct hw_perf_event *hwc, u64 config) { + if (ibs_caps & IBS_CAPS_DIS) { + wrmsrq(hwc->extra_reg.reg, perf_ibs->disable_mask); + return; + } + config &=3D ~perf_ibs->cnt_mask; if (boot_cpu_data.x86 =3D=3D 0x10) wrmsrq(hwc->config_base, config); @@ -809,6 +826,7 @@ static struct perf_ibs perf_ibs_fetch =3D { .check_period =3D perf_ibs_check_period, }, .msr =3D MSR_AMD64_IBSFETCHCTL, + .msr2 =3D MSR_AMD64_IBSFETCHCTL2, .config_mask =3D IBS_FETCH_MAX_CNT | IBS_FETCH_RAND_EN, .cnt_mask =3D IBS_FETCH_MAX_CNT, .enable_mask =3D IBS_FETCH_ENABLE, @@ -834,6 +852,7 @@ static struct perf_ibs perf_ibs_op =3D { .check_period =3D perf_ibs_check_period, }, .msr =3D MSR_AMD64_IBSOPCTL, + .msr2 =3D MSR_AMD64_IBSOPCTL2, .config_mask =3D IBS_OP_MAX_CNT, .cnt_mask =3D IBS_OP_MAX_CNT | IBS_OP_CUR_CNT | IBS_OP_CUR_CNT_RAND, @@ -1389,6 +1408,9 @@ static int perf_ibs_handle_irq(struct perf_ibs *perf_= ibs, struct pt_regs *iregs) =20 out: if (!throttle) { + if (ibs_caps & IBS_CAPS_DIS) + wrmsrq(hwc->extra_reg.reg, perf_ibs->disable_mask); + if (perf_ibs =3D=3D &perf_ibs_op) { if (ibs_caps & IBS_CAPS_OPCNTEXT) { new_config =3D period & IBS_OP_MAX_CNT_EXT_MASK; @@ -1460,6 +1482,9 @@ static __init int perf_ibs_fetch_init(void) if (ibs_caps & IBS_CAPS_ZEN4) perf_ibs_fetch.config_mask |=3D IBS_FETCH_L3MISSONLY; =20 + if (ibs_caps & IBS_CAPS_DIS) + perf_ibs_fetch.disable_mask =3D IBS_FETCH_2_DIS; + perf_ibs_fetch.pmu.attr_groups =3D fetch_attr_groups; perf_ibs_fetch.pmu.attr_update =3D fetch_attr_update; =20 @@ -1481,6 +1506,9 @@ static __init int perf_ibs_op_init(void) if (ibs_caps & IBS_CAPS_ZEN4) perf_ibs_op.config_mask |=3D IBS_OP_L3MISSONLY; =20 + if (ibs_caps & IBS_CAPS_DIS) + perf_ibs_op.disable_mask =3D IBS_OP_2_DIS; + perf_ibs_op.pmu.attr_groups =3D op_attr_groups; perf_ibs_op.pmu.attr_update =3D op_attr_update; =20 @@ -1727,6 +1755,23 @@ static void clear_APIC_ibs(void) static int x86_pmu_amd_ibs_starting_cpu(unsigned int cpu) { setup_APIC_ibs(); + + if (ibs_caps & IBS_CAPS_DIS) { + /* + * IBS enable sequence: + * CTL[En] =3D 1; + * CTL2[Dis] =3D 0; + * + * IBS disable sequence: + * CTL2[Dis] =3D 1; + * + * Set CTL2[Dis] when CPU comes up. This is needed to make + * enable sequence effective. + */ + wrmsrq(MSR_AMD64_IBSFETCHCTL2, 1); + wrmsrq(MSR_AMD64_IBSOPCTL2, 1); + } + return 0; } =20 --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012068.outbound.protection.outlook.com [40.93.195.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44B40327C18; Fri, 16 Jan 2026 03:36:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534563; cv=fail; b=eWwhmXcyEIz9ZJqTsvjzvS5Jwd45mnXF4vOaStHnQB/8vwRETPRUJ7stgYHCcMZu4/uwGAEQ8WvHzlr1lMpWcquvolzwJ1EEI1R2gLIZyL7TnOrD8iTT+GWjgf2OeSKNQw+FlrAGVV0cblZQF23cdPKVO0isklylw3ob6j4vsok= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534563; c=relaxed/simple; bh=8D3Re5G7zk0aLsPK2+BYfghE9/mTqeCQc6ET4kgs678=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UFSblMUBtRj/Jz+Rc2LmUUtOmdVqNnfNQgZCMDOOgPBPIxQ+4uW9dnR8msG3MQo4v+ZVI8pd+pCslP75ciNqnrcD9+0bn01g69TYpmnRpbQju+Fm+N00OUeFsgCl+0HJaO5dGikGBeLTDEi7Ds9w3yUW7WOINtvJUzpTeQbL9O4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=Gz8fUyVl; arc=fail smtp.client-ip=40.93.195.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="Gz8fUyVl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UdeHYBHW+KA/Ys/OZZ0S7Fkom6xBiFnsQtrIXT2GdXAxR+s+IK1LhbrtidDagBw82GScYeeCzmMJjRI+LvBCDlLJZskWmS8Nwm/X3jZ8daW7LnZFFTHLAlq6HTSveHbjdQeF1G6/0a21hQBBUOa9lFkrFFdGxsLeEnq3NXX23mLnPj+yQTzxeu7hJkIXhX41fPgoeyzL12gHxKELEjHmpooO9UKgzJLGIRRrf/hDF7m9w8BkPXayh9N7eJNfMDCG/QzhjDKrtD4We5y6G4lI7+whmmmXnA0onWa6EQyLu9qOVc2W9/PbCfiefjEOBpo298P9+iECbezS5u4jUoI3wQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IgMyrs70eWw04ukdG61UOP4cpvQQr7WiNOZxeMf2GjU=; b=rk8lqgqDczaBtLnOvhTuL1U6KpPnt9v7eNhuIG7BJBOqfl41KhQsZV6b2wWdIlm0K0QLl2/CoK6H9iHrHGeB77NaJIjs7UbpxyTt/RCMimaK1LXIWTezGLa1wPwLs+KWO6/FgORD8sBD1EyU1Orl/kxzSPMbImU4NHAveuPh5ehG6Kc9nn3l5K9CV4RQox9ZtF/zdRggbZnCSUyxEG6WY5wbN52UDKvdRXB7PZs+uQiWE+ik5hUQTSg452SVtZ7gYt3kjKFqKIRQJ/V3OiJuVqmAIOz0Yt5dr9zvGqY30OckvZ9GI345iPBVep6hL4YTEnZ5EsjBCFWNARVS0U0DQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IgMyrs70eWw04ukdG61UOP4cpvQQr7WiNOZxeMf2GjU=; b=Gz8fUyVlDuuXewSApPIN0PRqfu6K5i8yNTHEEcM4/AIr/nLWmoAjYclH3/A8Ff0SyW5D7dDURJOJiRBegs9xrRJRyS2999yiXr8cMsdue440rsG7sGFpDNNMeAiHf81Py04k6hJyEHVyXCYvG6m9Vh6xrHYMMjpMv1XwDYgT878= Received: from BN9PR03CA0645.namprd03.prod.outlook.com (2603:10b6:408:13b::20) by LV3PR12MB9403.namprd12.prod.outlook.com (2603:10b6:408:217::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.7; Fri, 16 Jan 2026 03:35:58 +0000 Received: from BN2PEPF000044A0.namprd02.prod.outlook.com (2603:10b6:408:13b:cafe::36) by BN9PR03CA0645.outlook.office365.com (2603:10b6:408:13b::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.6 via Frontend Transport; Fri, 16 Jan 2026 03:35:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A0.mail.protection.outlook.com (10.167.243.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:35:58 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:53 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 08/11] perf/amd/ibs: Enable fetch latency filtering Date: Fri, 16 Jan 2026 03:34:47 +0000 Message-ID: <20260116033450.965-9-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A0:EE_|LV3PR12MB9403:EE_ X-MS-Office365-Filtering-Correlation-Id: 28fbc93c-ed9f-4626-effd-08de54b05cd3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|376014|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?f87M9fiRF5cVkZDh6O70zZFefq16nhzG//1aLsNg3L9i9C/ie5RBB863T5ek?= =?us-ascii?Q?COALD0y++mPnRGu8GIzTmpzgo89s/5YYN5SXnhZQtXSRHhPfrvRiUWMChdBW?= =?us-ascii?Q?VYgKVfT12RyU8d28VldLV/Mp26uLztGlTNx/usX+ycmoV3EabIu4KmlW9RLv?= =?us-ascii?Q?rrcTMKfp6orYcikyTMCuRutFy5PEug0/8S686E8OUHpBtQEIH0lF2KSie3bI?= =?us-ascii?Q?2Ije07CQcrrYtDeDIPGmHYHKu4bXEgWR54fhbD+0tzaGxwN9wUv9kXzu7S3B?= =?us-ascii?Q?FmMi7LcbZYvP26Ntvxb4WWjabifXTPuc9oNHLy+DnS6peglcEOuPnoqtx3HV?= =?us-ascii?Q?C0CMYsBa68ktgehbJIDtkTFpKO8nre7UhsWuU/ykRofR+RuO/WR7nilzbrDA?= =?us-ascii?Q?Oj9n+hrfemmWHJn1b0xtaCmnB6780pIeYWmOKfNeE7dsM9Ngc12kV1v7jZVL?= =?us-ascii?Q?l3bcgE6uZ/djS7wycqN4P+5bSL1G/s97YOjtCZQNiFFqsI1eLKOHjdaXgaeq?= =?us-ascii?Q?/bIAdo4RzsbXH5HZVwiykbd3rh+MoN/IY6yKXk7DC2newXxQ+7jGZXev49b9?= =?us-ascii?Q?gCfZBlkDD3H9IsJD4f+SwZwzp4cx3F8Nk0O49NeSQhIyiSCwP6boW2eyX24p?= =?us-ascii?Q?LHWPU8PgYK5Wewv//FdodDDrl8+HrcBN/FrFgc7TKCtcVIfWhSLGzi3QcXDO?= =?us-ascii?Q?4bnSK5tAgq0MihYYeYjeUkD3BZGeVYzayGEZPPfca8Cn66oldf3Il1IBtL17?= =?us-ascii?Q?49TlHURRQEmmXsIFj7StbBFdzeLzQKnQw3Rfuw5oYMCYhdKjHEZEJvWFsVMl?= =?us-ascii?Q?ra3l49SAVrILKrD/2cFTHQHul1VNmfqThQAiDEH71B/N9BZICEVpQX6cc6Ah?= =?us-ascii?Q?h73selXpMZmkwFeg/qbKd0dklH8XcLBc+64kdj/ujMJrY74gZb9nwvOHzkc/?= =?us-ascii?Q?TdiS7Wpg6Dozs5wES1UaxFjlZ0lIzG0KX79pOWSumHLvvaK4oSdY7QzJ6/Sw?= =?us-ascii?Q?nuEhIOd2eDa0claXAUnM9UodBN5+hd9p0Xk0V7qBUqYeun5/xhKUcCTcNNfH?= =?us-ascii?Q?Fy2h9nDM65suIhmDEPbbakCfSHt423kCSerQJTzzcQKlm4l+CB1JvaEYIlVV?= =?us-ascii?Q?uhQvlJ3tlWGMUCzmbAj+WyVl17TFGblzuujmzUSy9bUmIZ25qNFidU3o84JQ?= =?us-ascii?Q?Sm1D1rNgIuLdJZB116sM3WRNOlOVmBrf+GNjaPscjVWqKzbHMbbUVrb5QcIN?= =?us-ascii?Q?ctEJf1Yy5/tl8NzG4VWjWj+QMhmhNE4zU95iNpcX2xzoM4GJjPCgBjK4nQ/o?= =?us-ascii?Q?gGFBUE4hCSBYItdaAg/e2QxW4SBZURDWdp1ZIKc2v9JX3/YUVvrzmVKmqT6i?= =?us-ascii?Q?nPjCR+X5IrqgdZAMDrHB7DLjfpbMdKu0mV2nHb+q9HxrR1XmSfCga7lPoVZa?= =?us-ascii?Q?xsvMIM3a8dUTFEDnBfoXoa5QKmBMBqmYTPuSIs15VioX7wSww52IGeqOMwc1?= =?us-ascii?Q?ZtF77p2tbpEg5KOf0fCPIzxwWR4QXuJisZqeBbZjCyOFXhFDXcd6xbVncqPO?= =?us-ascii?Q?2bctFQTGtDexTOE2PbpotEwnWETOfQvvaxE0BznENyxYoeAPf2xtk4HyhRjV?= =?us-ascii?Q?oBB6ZEW36ZFWQqB7B5d4TtgBR4WbvxPwRe9yGm2/Pk4bsTwgOedw9+hypeAb?= =?us-ascii?Q?lJ2UJw=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:35:58.1130 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 28fbc93c-ed9f-4626-effd-08de54b05cd3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A0.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9403 Content-Type: text/plain; charset="utf-8" IBS Fetch on future hardware adds fetch latency filtering which generates interrupt only when FetchLat value exceeds a programmable threshold. Hardware allows threshold in 128-cycle increment (i.e. 128, 256, 384 etc.) from 128 to 1920 cycles. Like the existing IBS filters, samples that fail the latency test are dropped and IBS restarts internally. Since hardware supports threshold in multiple of 128, add a software filter on top to support latency threshold with the granularity of 1 cycle in between [128-1920]. Example: # perf record -e ibs_fetch/fetchlat=3D128/ -c 10000 -a -- sleep 5 Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 66 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index d8216048be84..b2d21026edae 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -35,6 +35,8 @@ static u32 ibs_caps; /* attr.config1 */ #define IBS_OP_CONFIG1_LDLAT_MASK (0xFFFULL << 0) =20 +#define IBS_FETCH_CONFIG1_FETCHLAT_MASK (0x7FFULL << 0) + /* * IBS states: * @@ -282,6 +284,14 @@ static bool perf_ibs_ldlat_event(struct perf_ibs *perf= _ibs, (event->attr.config1 & IBS_OP_CONFIG1_LDLAT_MASK); } =20 +static bool perf_ibs_fetch_lat_event(struct perf_ibs *perf_ibs, + struct perf_event *event) +{ + return perf_ibs =3D=3D &perf_ibs_fetch && + (ibs_caps & IBS_CAPS_FETCHLAT) && + (event->attr.config1 & IBS_FETCH_CONFIG1_FETCHLAT_MASK); +} + static int perf_ibs_init(struct perf_event *event) { struct hw_perf_event *hwc =3D &event->hw; @@ -374,6 +384,17 @@ static int perf_ibs_init(struct perf_event *event) config |=3D IBS_OP_L3MISSONLY; } =20 + if (perf_ibs_fetch_lat_event(perf_ibs, event)) { + u64 fetchlat =3D event->attr.config1 & IBS_FETCH_CONFIG1_FETCHLAT_MASK; + + if (fetchlat < 128 || fetchlat > 1920) + return -EINVAL; + fetchlat >>=3D 7; + + hwc->extra_reg.reg =3D perf_ibs->msr2; + hwc->extra_reg.config |=3D fetchlat << 1; + } + /* * If we modify hwc->sample_period, we also need to update * hwc->last_period and hwc->period_left. @@ -662,6 +683,8 @@ PMU_EVENT_ATTR_STRING(ldlat, ibs_op_ldlat_format, "conf= ig1:0-11"); PMU_EVENT_ATTR_STRING(zen4_ibs_extensions, zen4_ibs_extensions, "1"); PMU_EVENT_ATTR_STRING(ldlat, ibs_op_ldlat_cap, "1"); PMU_EVENT_ATTR_STRING(dtlb_pgsize, ibs_op_dtlb_pgsize_cap, "1"); +PMU_EVENT_ATTR_STRING(fetchlat, ibs_fetch_lat_format, "config1:0-10"); +PMU_EVENT_ATTR_STRING(fetchlat, ibs_fetch_lat_cap, "1"); =20 static umode_t zen4_ibs_extensions_is_visible(struct kobject *kobj, struct attribute *att= r, int i) @@ -669,6 +692,12 @@ zen4_ibs_extensions_is_visible(struct kobject *kobj, s= truct attribute *attr, int return ibs_caps & IBS_CAPS_ZEN4 ? attr->mode : 0; } =20 +static umode_t +ibs_fetch_lat_is_visible(struct kobject *kobj, struct attribute *attr, int= i) +{ + return ibs_caps & IBS_CAPS_FETCHLAT ? attr->mode : 0; +} + static umode_t ibs_op_ldlat_is_visible(struct kobject *kobj, struct attribute *attr, int = i) { @@ -697,6 +726,16 @@ static struct attribute *zen4_ibs_extensions_attrs[] = =3D { NULL, }; =20 +static struct attribute *ibs_fetch_lat_format_attrs[] =3D { + &ibs_fetch_lat_format.attr.attr, + NULL, +}; + +static struct attribute *ibs_fetch_lat_cap_attrs[] =3D { + &ibs_fetch_lat_cap.attr.attr, + NULL, +}; + static struct attribute *ibs_op_ldlat_cap_attrs[] =3D { &ibs_op_ldlat_cap.attr.attr, NULL, @@ -724,6 +763,18 @@ static struct attribute_group group_zen4_ibs_extension= s =3D { .is_visible =3D zen4_ibs_extensions_is_visible, }; =20 +static struct attribute_group group_ibs_fetch_lat_cap =3D { + .name =3D "caps", + .attrs =3D ibs_fetch_lat_cap_attrs, + .is_visible =3D ibs_fetch_lat_is_visible, +}; + +static struct attribute_group group_ibs_fetch_lat_format =3D { + .name =3D "format", + .attrs =3D ibs_fetch_lat_format_attrs, + .is_visible =3D ibs_fetch_lat_is_visible, +}; + static struct attribute_group group_ibs_op_ldlat_cap =3D { .name =3D "caps", .attrs =3D ibs_op_ldlat_cap_attrs, @@ -745,6 +796,8 @@ static const struct attribute_group *fetch_attr_groups[= ] =3D { static const struct attribute_group *fetch_attr_update[] =3D { &group_fetch_l3missonly, &group_zen4_ibs_extensions, + &group_ibs_fetch_lat_cap, + &group_ibs_fetch_lat_format, NULL, }; =20 @@ -1188,7 +1241,8 @@ static int perf_ibs_get_offset_max(struct perf_ibs *p= erf_ibs, { if (event->attr.sample_type & PERF_SAMPLE_RAW || perf_ibs_is_mem_sample_type(perf_ibs, event) || - perf_ibs_ldlat_event(perf_ibs, event)) + perf_ibs_ldlat_event(perf_ibs, event) || + perf_ibs_fetch_lat_event(perf_ibs, event)) return perf_ibs->offset_max; else if (check_rip) return 3; @@ -1330,6 +1384,16 @@ static int perf_ibs_handle_irq(struct perf_ibs *perf= _ibs, struct pt_regs *iregs) } } =20 + if (perf_ibs_fetch_lat_event(perf_ibs, event)) { + union ibs_fetch_ctl fetch_ctl; + + fetch_ctl.val =3D ibs_data.regs[ibs_fetch_msr_idx(MSR_AMD64_IBSFETCHCTL)= ]; + if (fetch_ctl.fetch_lat < (event->attr.config1 & IBS_FETCH_CONFIG1_FETCH= LAT_MASK)) { + throttle =3D perf_event_account_interrupt(event); + goto out; + } + } + /* * Read IbsBrTarget, IbsOpData4, and IbsExtdCtl separately * depending on their availability. --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010052.outbound.protection.outlook.com [52.101.46.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CADE5322B67; Fri, 16 Jan 2026 03:36:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534568; cv=fail; b=Jw7R7+hHiILrOuEyMu0bG9o+EXXUE1GThODcVLm/e1K5lKtpi+80RbgI5YgdgPxNH2N4VKz+lAHmJrju32NsozikZbukMxgJjt0pKizzR4rXEyQX5uRFtdszkoSlLOCLkMKZ9OtG5qPDUpo8UjSfOx6nPgeKsWfPSdgLVJQuzFM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534568; c=relaxed/simple; bh=kPqz5tq45SyTIIGHm+WUe6k2h+IXZC59euz3Wkf56fI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=QMOFR8J8JvYXaSDYTCHe8ansilbaaAYZXGFRSCR1416U8W9h/6Z4WohINhtD1SzaP6KqU9BkInoRrFN6oDTuZJYice+j31xU4nkAV/Jd4Rij1vbP889ssJmpD8mTPfNxnNFd1Y9pQJFLC/dEuXQfVF0pxGsb8xhWvL5Lij7Uk7A= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=xePFpKEe; arc=fail smtp.client-ip=52.101.46.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="xePFpKEe" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v1CYFrQ0e1zgfM50tXwg00v5PFR+jQ0sB7hdSvnYGYAPRXulu5KoZn4wFf7KzO2LbJpqTrJSYNU6n48nmBRclMCUhkJ6ZVdYTbqCREIc1Jt2JKReZi43ExY+fqxOWD/IXuYBlGmJfbTMX0+r0IrFQom2RPA2yEGw/KNtZrL1qKEZXtNy3zhcBoybAwRCH1UFXatupSI53jghblw/BsVmrR82UCIlg1n1Vey+vvm4clkSglPTOp3dN5rxWqbGKlAj0HvkQnMuZ13l4ODFkdMLQv9MhDspaQfwTpic3Mt0fn7INuod6SUEigJX+vqOWBG3TO6KNBTxlrgKHYCpKYzcxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4zEk5LLJbF2B6KlJWDQeVcX9foqFbCwJCRKWcAmyK2g=; b=maz3fOGRQk+Ca85/ClMmptTuRMGSb58iRfOCNwhUOHkePjF07GPBdsWZWJMwQkNzrwNT5BofQjl5Qw/n+uQ/A992N3vA1b0O+Ge2t9gGYHqS0I3U8YnH+9M8wzjiHPR8Z8a1LLS2mFNRqRrO1izfoNFKvS+Ce5ri2MNKtD2/WIOWxvHTRCmkIaB4q2AxQMwNBJpgPBxJsrOCp/xdybzFmEJKIswEMqjftsWjnEHzEEcnkHhBOO3uYrEulj4dOriVwFIICducKWYeJHq/GxNJsLvBrxsURcf0OFfrnV58BSdnSfSc+JvDBhwPXHNEgOmAKiR32NCsE3Jqm8dCFly7Gw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4zEk5LLJbF2B6KlJWDQeVcX9foqFbCwJCRKWcAmyK2g=; b=xePFpKEe2HqFjCjZ+m5NQ3WRDAV5zb2VkZ2lWh0oqIG1NMlPqtoCuZLUm7l8bQXQQODGUztdLL4QzvxivpbXtB8rhv4MLLQcjL9mcsXgLtYvFbzYwTnndwBy0AiyY258+lciYZpaAEg5GVWkAuh1uNQ75lxOEkUwqqRrsjFUqdw= Received: from BN9PR03CA0581.namprd03.prod.outlook.com (2603:10b6:408:10d::16) by DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.6; Fri, 16 Jan 2026 03:36:03 +0000 Received: from BN2PEPF000044A4.namprd02.prod.outlook.com (2603:10b6:408:10d:cafe::5e) by BN9PR03CA0581.outlook.office365.com (2603:10b6:408:10d::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.7 via Frontend Transport; Fri, 16 Jan 2026 03:36:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A4.mail.protection.outlook.com (10.167.243.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:36:02 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:35:57 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 09/11] perf/amd/ibs: Enable RIP bit63 hardware filtering Date: Fri, 16 Jan 2026 03:34:48 +0000 Message-ID: <20260116033450.965-10-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A4:EE_|DS2PR12MB9567:EE_ X-MS-Office365-Filtering-Correlation-Id: dae5d174-49ef-4d59-2d47-08de54b05f81 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?SoP57MSGTBd8oAu65z3lsrp3ZKO8fy3F2HxG7QH6RT67/FPXjNV5LO9JHxn2?= =?us-ascii?Q?1ud0QKppNLLK2njmTy4UWc32n3yKloMV9l1LTOD5uNRDUPGwPYX7BvKEk+3b?= =?us-ascii?Q?gSNRnBApOcSSamEtddU15x1RQE5g7QXWasH1me5zde9MfN+jXwLTr69x0aw5?= =?us-ascii?Q?gvFsbqfUNORlTJn4UzB3WwF3u93gzSV8Y0kl3A4kccLSrCIZO39SG38+1Jtz?= =?us-ascii?Q?iu2CMGd3WJKDuRUPDdVwJhcUjje/rjlUkDdj3VVv5mJ69VrnfmxKU1ioHQHd?= =?us-ascii?Q?HotU8VXRlfya2xSiAc2/Gz+bjWTUEjwRqFIDFOp6LZdR/jUJonlTgs5QEcZa?= =?us-ascii?Q?YmAC4+ZHWIcPhPQV/Uh9eikCZuWg1UiR0Da+RjUJERpIm0ewjhC9FzQp1lIE?= =?us-ascii?Q?UYmYq6xs49OxToOLRK0+ZTTSrzUlzup1E0eVGiu+32yTZHtv3ecaHLGeC4YK?= =?us-ascii?Q?JnrXAXWnHcYO95ekLYnkLRBlskCDqFuZcTnxLuH8m3/VG1jWydfho2IOw9tK?= =?us-ascii?Q?fOuKal9pN3R6Ued9t2ueHPmKjBJr0j3XZUuOBWa/GWyvlFurF5dnl+u7oqR6?= =?us-ascii?Q?p+pYcjLyZ1rSzt+2+ZYqUWZ302sy/AmbwQhbpoBIEZltGBrkdjioHub5QY5e?= =?us-ascii?Q?bETCpYpShvpxk7MiovxWH7ioyZwLHW6P5mrPvcIZTwl/jypDUV/42PckNrDg?= =?us-ascii?Q?xCVApjGVCfY2iBNA/mKgiJlrNznja8XsZzEKcp55HPTjLexRxnHpthniLgXd?= =?us-ascii?Q?TBaR93YRGsP/U1ElqaHv8l2P7tIZfrPFcb36zWwmfgSAs9XCZRpgjSYb2ysD?= =?us-ascii?Q?O1Wx8TwqHPgM5LgSOkkVDERDouJhKbfksVWcei6jUDzpCZuOHMNZx0aBI3+O?= =?us-ascii?Q?WMlx9/mMqaVxcU8Jlao75agDlEQytYEco+pgN/wpxYFX19i/gaDBmbJ5U1OO?= =?us-ascii?Q?UVFY81u6e/vLd7fDuhte+dE18iwiYkM+8hfdzmEavOETvLw7LGNZK7vEunCX?= =?us-ascii?Q?1+klSFiO0YzUa44H8UAEoaaTHCAUyuGpVRtqZtQcukxZPLTG0WFojFBxm5d4?= =?us-ascii?Q?g98pHZY4x0/rs4xbpgibaUsIpLwbeYrjOhIq9ho06ucRg8MdOkVLYRK7AP+Q?= =?us-ascii?Q?gwElxIb0i1rcwdEOOfXKV8I4F/DJdur/5Xg1uf7Oc9Qp+95I153Wkvuok17c?= =?us-ascii?Q?Enz7nFSQgdFpt3etkiHu3Rg7jLcfDjhT1u2KNyJe1HuI6yXEnYVUt2eYU+2W?= =?us-ascii?Q?E6T0xT+FYR3308uPNQaBnlZfI1lPP3LeZD4O83n+Qy21I8KvSLct06aK4Ifp?= =?us-ascii?Q?wn1Ps918h1R3Nj2SzETDR0LwXDWj9inRvXQ84Hevqao1jKfhH/hFzzZLmSxg?= =?us-ascii?Q?KUdIqB2eTC1Py4aOPoAsasQGrhz25CJc4S0iWxIhSuUKniVyLuaCefwsYPtU?= =?us-ascii?Q?bfhasCX3S0OEuO+PKUoZbxAA1v7qdXHdlIhcTvEVoIbExycYEfGBuMOp6Xes?= =?us-ascii?Q?s3fdcNxGV88J/Cjrw7JPqkrPAuO5Yz1gVeTm0x7/eADt/pjR+mQ8lzbIasAu?= =?us-ascii?Q?Hj5JxYibJ/my9zd+9l0adLMgCqc7MtB9gez6PUF6LuVu9BwJedSgxfsOA+iO?= =?us-ascii?Q?R2QGpaZOTMZ6P6Odlt0x2XwSQLI6w08ZjU6EQ2rJkLJ6bhCmMVqO4dH+VCNH?= =?us-ascii?Q?rxmohg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:36:02.6048 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dae5d174-49ef-4d59-2d47-08de54b05f81 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9567 Content-Type: text/plain; charset="utf-8" IBS on future hardware adds the ability to filter IBS events by examining RIP bit 63. Because Linux kernel addresses always have bit 63 set while user-space addresses never do, this capability can be used as a privilege filter. So far, IBS supports privilege filtering in software (swfilt=3D1), where samples are dropped in the NMI handler. The RIP bit63 hardware filter enables IBS to be usable by unprivileged users without passing swfilt flag. So, swfilt flag will silently be ignored when the hardware filtering capability is present. Example (non-root user): $ perf record -e ibs_op//u -- Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 46 ++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index b2d21026edae..a768a82d7ad2 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -321,11 +321,6 @@ static int perf_ibs_init(struct perf_event *event) event->attr.exclude_idle) return -EINVAL; =20 - if (!(event->attr.config2 & IBS_SW_FILTER_MASK) && - (event->attr.exclude_kernel || event->attr.exclude_user || - event->attr.exclude_hv)) - return -EINVAL; - ret =3D validate_group(event); if (ret) return ret; @@ -335,6 +330,32 @@ static int perf_ibs_init(struct perf_event *event) hwc->extra_reg.reg =3D perf_ibs->msr2; } =20 + if (ibs_caps & IBS_CAPS_BIT63_FILTER) { + if (perf_ibs =3D=3D &perf_ibs_fetch) { + if (event->attr.exclude_kernel) { + hwc->extra_reg.config |=3D IBS_FETCH_2_EXCL_RIP_63_EQ_1; + hwc->extra_reg.reg =3D perf_ibs->msr2; + } + if (event->attr.exclude_user) { + hwc->extra_reg.config |=3D IBS_FETCH_2_EXCL_RIP_63_EQ_0; + hwc->extra_reg.reg =3D perf_ibs->msr2; + } + } else { + if (event->attr.exclude_kernel) { + hwc->extra_reg.config |=3D IBS_OP_2_EXCL_RIP_63_EQ_1; + hwc->extra_reg.reg =3D perf_ibs->msr2; + } + if (event->attr.exclude_user) { + hwc->extra_reg.config |=3D IBS_OP_2_EXCL_RIP_63_EQ_0; + hwc->extra_reg.reg =3D perf_ibs->msr2; + } + } + } else if (!(event->attr.config2 & IBS_SW_FILTER_MASK) && + (event->attr.exclude_kernel || event->attr.exclude_user || + event->attr.exclude_hv)) { + return -EINVAL; + } + if (hwc->sample_period) { if (config & perf_ibs->cnt_mask) /* raw max_cnt may not be set */ @@ -1277,7 +1298,7 @@ static bool perf_ibs_is_kernel_br_target(struct perf_= event *event, op_data.op_brn_ret && kernel_ip(br_target)); } =20 -static bool perf_ibs_swfilt_discard(struct perf_ibs *perf_ibs, struct perf= _event *event, +static bool perf_ibs_discard_sample(struct perf_ibs *perf_ibs, struct perf= _event *event, struct pt_regs *regs, struct perf_ibs_data *ibs_data, int br_target_idx) { @@ -1430,8 +1451,9 @@ static int perf_ibs_handle_irq(struct perf_ibs *perf_= ibs, struct pt_regs *iregs) regs.flags |=3D PERF_EFLAGS_EXACT; } =20 - if ((event->attr.config2 & IBS_SW_FILTER_MASK) && - perf_ibs_swfilt_discard(perf_ibs, event, ®s, &ibs_data, br_target_= idx)) { + if (((ibs_caps & IBS_CAPS_BIT63_FILTER) || + (event->attr.config2 & IBS_SW_FILTER_MASK)) && + perf_ibs_discard_sample(perf_ibs, event, ®s, &ibs_data, br_target_= idx)) { throttle =3D perf_event_account_interrupt(event); goto out; } @@ -1894,6 +1916,14 @@ static __init int amd_ibs_init(void) =20 perf_ibs_pm_init(); =20 +#ifdef CONFIG_X86_32 + /* + * IBS_CAPS_BIT63_FILTER is used for exclude_kernel/user filtering, + * which obviously won't work for 32 bit kernel. + */ + caps &=3D ~IBS_CAPS_BIT63_FILTER; +#endif + ibs_caps =3D caps; /* make ibs_caps visible to other cpus: */ smp_mb(); --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11013059.outbound.protection.outlook.com [40.93.201.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CC4E30C368; Fri, 16 Jan 2026 03:36:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534575; cv=fail; b=KoI7nkcXdm5ma+9R6VCf8CMK6yDX7jPaZiXgWT3s4VynIfw9n492JUC/L+5kaZkquA1QG1gsqUF5dS66AF94p0LusyDxUOxpFPHVusLNhJxJQAqKGNeKmvIhQ8lilZMDw2rvLcpqZIPk6E4MePLnG0L97YcAgDrrYGdUd+KnDoM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534575; c=relaxed/simple; bh=Y3EqnxVpfl0pfkut9zN5ubMWs+i2ydNBmtVP+o+Gxrk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hi8sg4eFrq4mSvuD+BcOzoIhSt09TVXakoWMTEMWkbLnmVXGGPNi0uqDaGZG2y5yEwRrO8XxztZZ1cNg58HD8hmqVkXJ0Agp6eGbkMkX0NbDsYTV8QUmgUsrkfx321LR+FVrJfsAzTqgWnHYiZAoblw9StrknW2Puv9h9nwNpTE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=EgYoMA+q; arc=fail smtp.client-ip=40.93.201.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="EgYoMA+q" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CtjYbRXN9TfL5CNcPEa5YVnlCvKIgSnBlfMobTKQcs85pew3VDAL1pOz2tVKyeO+T2M3KLUtjdFXL1FFJzDxJXlnMLl8sycJAEJb1joCSzLmUzbh6wWemGD4tMkV1u5Ld618pYsC9Md5UfYQWPO7w/4iRhINDKXD5bWPSNy2ieggPKl/mjSKwwY9/h0VYw8Qpt5zof+CodqcR3jh0iQZXIA6aappS3ei9AxjhZ3m8WQRi0qUls6EhC59HwVKtIY21G+2dOB6PEFfpkh8hqbXqp2APCKPaTCmZGL0WON2Jl41pfE9tZXNZZM2cwXS8GaAn54aQ/5CN7NheL4QcwwGKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UxhmpBtOzGq3EeiwjLUOdo8mGRWXE8m5LkUiiDyvPoo=; b=E7JBV5BlU8pjcMKsgrWbulQSebiISZIzmogkJqlTA2wl4lIJrtbTmV4WnU+14cYVz4Q3Q+xWzIyjzz+75ImaM/cYoHtzKm8rkfmiwO+JPIjvIAavelGyv6lRitWJJXr8c/c9t/m4ffJLS905efkclkRf7nzgmo/iypSQZU6Kder9qKx48kgxJbEcbYvxzI4OMebq8GmJoP7+ysLWvhQypkFOZoMP+bGCllXJVfqmaNgF8bpb3WaYLdXCqPj3j5EYQK82dk9ssi77W56SrN/Gf5WuUkidaAounGkpy7wfj2g3glyVrbatCy+0rSRyc1HRtI9vxD8Q5HuO7kknpgaKUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UxhmpBtOzGq3EeiwjLUOdo8mGRWXE8m5LkUiiDyvPoo=; b=EgYoMA+qYy0tN4qtH4DF5cKWo9qKymDpyv4RHkHfA1QDIB7jFWqDn+GLG70IOgGPxU3DzcGv4r6cCxv7iL8pZIYJpaV/Vl12pW/4NTG6w3jTZbAkxT0eeqUlYOLaXPLgEDfsKqG9g0QU9Apyq1EimhsSXbG0YtvoQPlGQqn7Pe4= Received: from BN9PR03CA0657.namprd03.prod.outlook.com (2603:10b6:408:13b::32) by MW4PR12MB7165.namprd12.prod.outlook.com (2603:10b6:303:21b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 03:36:08 +0000 Received: from BN2PEPF000044A0.namprd02.prod.outlook.com (2603:10b6:408:13b:cafe::31) by BN9PR03CA0657.outlook.office365.com (2603:10b6:408:13b::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.7 via Frontend Transport; Fri, 16 Jan 2026 03:36:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A0.mail.protection.outlook.com (10.167.243.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:36:08 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:36:02 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 10/11] perf/amd/ibs: Enable streaming store filter Date: Fri, 16 Jan 2026 03:34:49 +0000 Message-ID: <20260116033450.965-11-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A0:EE_|MW4PR12MB7165:EE_ X-MS-Office365-Filtering-Correlation-Id: 83e141bf-c96b-4813-3202-08de54b062d4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|7416014|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?eR9TRpnK0qwVIk4PI1+xzM7TLRVboc7xPqDUaCR6zKvOY0/nZ85OSCq5cGFs?= =?us-ascii?Q?h/os2rJJR8nWstB6khBGQUsy3d0nWh7pFAU9UPtQfAy1152ZBagRsDLlVrFx?= =?us-ascii?Q?dnkPYWMJHCKhWMSDanIH8x6h4gitMMbOZsGnLuJYUBRYK3WYMrlzFLIYnpY7?= =?us-ascii?Q?t5KX29cZLOBQKXiFihnftDHjCuF8mjMldtVKQQifjDUY/Ff7T4E7bI6u2a0a?= =?us-ascii?Q?xgZOwGVrJEeQuOEer4toVWRgb/31kdC5991XNMPWCWhMKFod8qfNb5NFCuyY?= =?us-ascii?Q?EiNsD9TJF8e5+8HDjSm2BDLBy5zr7KDR+9FiBbE6AOq3UHm/9rsCFWE8JI2E?= =?us-ascii?Q?jFbJ5iArD9g+MaVD4AXID772Xi/kv6XqVa6pyIL/B7eQSzRzOyxlmFoyKaxc?= =?us-ascii?Q?kmAMBV+5pmpDbXf7ToMoU5Pqw0pmhEdLl+th7KUsZqlRTx1aYiV2Go4eAfXo?= =?us-ascii?Q?sFO4OxpQttw1kLulYf56G2JdBtU5Qu19jvy7pDN/4u51UcNygGv7mKuKHRsM?= =?us-ascii?Q?+Wpwd8K4+vqN28OWtiQqBvij4li6KWffb57OgELwChBNMMBt/dKzoyc6PFzF?= =?us-ascii?Q?vSHJG8c4+fvU64kiC4FESiF7mlWEzSqev2BPSM1AEEnAIdxTPsjMd6hrrZKp?= =?us-ascii?Q?9+M6mknm9zYWFc0eaFUTSwnV9uQWDt18KYGIn1nn/7lPYnSNBvfS+nPZ1qTl?= =?us-ascii?Q?optGl5MgXuQePzImNFL1VuLjKeMARQAZ7nNy+p2MiXBGo1BnLEteRXkym17H?= =?us-ascii?Q?KLG+O4q3hlOiYI6sym1EKq/cn0K5UKkmhePGI03sJe5wUjggRbVrxfG/w2YT?= =?us-ascii?Q?7MKeAQk6gj81RCwWmYQDBIht6PE0zqC0pn7k9E5iczHdrn0+506PmMQhLtMb?= =?us-ascii?Q?zekXJIj0khTYtL4TO4s35ww9hNNkejFC4QmHYKEEcrkNifLD8kCn57HFuySP?= =?us-ascii?Q?RAKDc1ByOnG8YvvD3fP7DckdJ8TZkUC+1IRHKJ2UUVi543oHBkVRR50q9yc8?= =?us-ascii?Q?jLcfjVnEQxq1Ugz4diiRuh60tIdl11z18aK9zeLdB2YDl4rtt58fMCSdHDeV?= =?us-ascii?Q?fGTv23IpWodb9DTUqs8NZeC7NUhTmsASEr0PhaZlWsIPaq2w+VxZ7a6N6cEn?= =?us-ascii?Q?BW7Wv7HBW4yiEXm9hw7hLQ4D/cZByQKz33aQmhgvQRfx6DNVzwXTUtqF/j9w?= =?us-ascii?Q?l9kTz+ibAyoa4jOPxp6CnBptqCK95EnrF+CFsYKNN2oXOswuz5BegAeJHHzu?= =?us-ascii?Q?ma/ewRPG6LpKaFz9S8kN1cg2Qk6AbfY5l9iNZkK4kgTcIHwmW+hMkNoDBIrD?= =?us-ascii?Q?1/whwg/62CCSGLR0IwtD2JDcz1ueiu04MC7tJARmP3mfkF9QJGP8xbboBRuA?= =?us-ascii?Q?vyIqg05JhaWIC+ZtwIOox5t4wOV4R9+gGw8N4DGQSVqBeeQD+z2C0vqBiKz8?= =?us-ascii?Q?5fRtSvmr9yGo3pcHu53IctvOWT2qH/qR3v22IBZBqWZVUxzJg7wPHfc6uZzb?= =?us-ascii?Q?uETxmOxsE/3XP8SMs3lEvlur61YmE0vvu6Zb/MEjLzCFRCrKp4kSWsZj8ivW?= =?us-ascii?Q?vxGcC6o+19HSrlIZuGo3SKByU23jd7yS9VPxvFRNpk7HUcdlDhfZLke2SWId?= =?us-ascii?Q?KViI8W6aJQSKoXYWnfw1P12ZGIq7YmMDfzAK9wCNylrsKsLwAD3SRNfMtolV?= =?us-ascii?Q?nsh+Tg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(7416014)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:36:08.1813 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83e141bf-c96b-4813-3202-08de54b062d4 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A0.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7165 Content-Type: text/plain; charset="utf-8" IBS OP on future hardware supports recording samples only for instructions that does streaming store. Like the existing IBS filters, samples pointing to instruction which does not cause streaming store are discarded and IBS restarts internally. Example: $ perf record -e ibs_op/strmst=3D1/ -- Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 50 ++++++++++++++++++++++++++++++++++ arch/x86/include/asm/amd/ibs.h | 3 +- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index a768a82d7ad2..0331bcd82272 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -34,6 +34,7 @@ static u32 ibs_caps; =20 /* attr.config1 */ #define IBS_OP_CONFIG1_LDLAT_MASK (0xFFFULL << 0) +#define IBS_OP_CONFIG1_STRMST_MASK ( 1ULL << 12) =20 #define IBS_FETCH_CONFIG1_FETCHLAT_MASK (0x7FFULL << 0) =20 @@ -292,6 +293,14 @@ static bool perf_ibs_fetch_lat_event(struct perf_ibs *= perf_ibs, (event->attr.config1 & IBS_FETCH_CONFIG1_FETCHLAT_MASK); } =20 +static bool perf_ibs_strmst_event(struct perf_ibs *perf_ibs, + struct perf_event *event) +{ + return perf_ibs =3D=3D &perf_ibs_op && + (ibs_caps & IBS_CAPS_STRMST_RMTSOCKET) && + (event->attr.config1 & IBS_OP_CONFIG1_STRMST_MASK); +} + static int perf_ibs_init(struct perf_event *event) { struct hw_perf_event *hwc =3D &event->hw; @@ -416,6 +425,15 @@ static int perf_ibs_init(struct perf_event *event) hwc->extra_reg.config |=3D fetchlat << 1; } =20 + if (perf_ibs_strmst_event(perf_ibs, event)) { + u64 strmst =3D event->attr.config1 & IBS_OP_CONFIG1_STRMST_MASK; + + strmst >>=3D 12; + + hwc->extra_reg.reg =3D perf_ibs->msr2; + hwc->extra_reg.config |=3D strmst << 3; + } + /* * If we modify hwc->sample_period, we also need to update * hwc->last_period and hwc->period_left. @@ -706,6 +724,8 @@ PMU_EVENT_ATTR_STRING(ldlat, ibs_op_ldlat_cap, "1"); PMU_EVENT_ATTR_STRING(dtlb_pgsize, ibs_op_dtlb_pgsize_cap, "1"); PMU_EVENT_ATTR_STRING(fetchlat, ibs_fetch_lat_format, "config1:0-10"); PMU_EVENT_ATTR_STRING(fetchlat, ibs_fetch_lat_cap, "1"); +PMU_EVENT_ATTR_STRING(strmst, ibs_op_strmst_format, "config1:12"); +PMU_EVENT_ATTR_STRING(strmst, ibs_op_strmst_cap, "1"); =20 static umode_t zen4_ibs_extensions_is_visible(struct kobject *kobj, struct attribute *att= r, int i) @@ -719,6 +739,12 @@ ibs_fetch_lat_is_visible(struct kobject *kobj, struct = attribute *attr, int i) return ibs_caps & IBS_CAPS_FETCHLAT ? attr->mode : 0; } =20 +static umode_t +ibs_op_strmst_is_visible(struct kobject *kobj, struct attribute *attr, int= i) +{ + return ibs_caps & IBS_CAPS_STRMST_RMTSOCKET ? attr->mode : 0; +} + static umode_t ibs_op_ldlat_is_visible(struct kobject *kobj, struct attribute *attr, int = i) { @@ -767,6 +793,11 @@ static struct attribute *ibs_op_dtlb_pgsize_cap_attrs[= ] =3D { NULL, }; =20 +static struct attribute *ibs_op_strmst_cap_attrs[] =3D { + &ibs_op_strmst_cap.attr.attr, + NULL, +}; + static struct attribute_group group_fetch_formats =3D { .name =3D "format", .attrs =3D fetch_attrs, @@ -808,6 +839,12 @@ static struct attribute_group group_ibs_op_dtlb_pgsize= _cap =3D { .is_visible =3D ibs_op_dtlb_pgsize_is_visible, }; =20 +static struct attribute_group group_ibs_op_strmst_cap =3D { + .name =3D "caps", + .attrs =3D ibs_op_strmst_cap_attrs, + .is_visible =3D ibs_op_strmst_is_visible, +}; + static const struct attribute_group *fetch_attr_groups[] =3D { &group_fetch_formats, &empty_caps_group, @@ -853,6 +890,11 @@ static struct attribute *ibs_op_ldlat_format_attrs[] = =3D { NULL, }; =20 +static struct attribute *ibs_op_strmst_format_attrs[] =3D { + &ibs_op_strmst_format.attr.attr, + NULL, +}; + static struct attribute_group group_cnt_ctl =3D { .name =3D "format", .attrs =3D cnt_ctl_attrs, @@ -877,6 +919,12 @@ static struct attribute_group group_ibs_op_ldlat_forma= t =3D { .is_visible =3D ibs_op_ldlat_is_visible, }; =20 +static struct attribute_group group_ibs_op_strmst_format =3D { + .name =3D "format", + .attrs =3D ibs_op_strmst_format_attrs, + .is_visible =3D ibs_op_strmst_is_visible, +}; + static const struct attribute_group *op_attr_update[] =3D { &group_cnt_ctl, &group_op_l3missonly, @@ -884,6 +932,8 @@ static const struct attribute_group *op_attr_update[] = =3D { &group_ibs_op_ldlat_cap, &group_ibs_op_ldlat_format, &group_ibs_op_dtlb_pgsize_cap, + &group_ibs_op_strmst_cap, + &group_ibs_op_strmst_format, NULL, }; =20 diff --git a/arch/x86/include/asm/amd/ibs.h b/arch/x86/include/asm/amd/ibs.h index 3ee5903982c2..b940156b7d23 100644 --- a/arch/x86/include/asm/amd/ibs.h +++ b/arch/x86/include/asm/amd/ibs.h @@ -99,7 +99,8 @@ union ibs_op_data2 { rmt_node:1, /* 4: destination node */ cache_hit_st:1, /* 5: cache hit state */ data_src_hi:2, /* 6-7: data source high */ - reserved1:56; /* 8-63: reserved */ + strm_st:1, /* 8: streaming store */ + reserved1:55; /* 9-63: reserved */ }; }; =20 --=20 2.43.0 From nobody Sun Feb 8 09:12:36 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010029.outbound.protection.outlook.com [40.93.198.29]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 219503314C3; Fri, 16 Jan 2026 03:36:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.29 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534578; cv=fail; b=kLItGxVxMaEmzFnvzgLwt5h8XuhOY5qAa21zZQMBt+SNA397KbQ20vj2XhsAiKFUJw3OrHPrjkkwKAg9MaqWkJH9cDl6a2tT35eIoju26etRfCewDXnS1Y26czOLXvI68t25OB35MsW+SGPuiylGPEAI6vCF9uw31GEhp4XLRhE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768534578; c=relaxed/simple; bh=ps7hD97I39xLEhfqMKWXDUctj+h0MGS7ku5NAzkUq3g=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gJ6D9qy1E/gNMOd525fV6WPhOULtRPZPavMDtVbacB0LfL/eyeosmc1FWeo368srKP4J+CRexjZZsiZC7E4QovUuphNkJNoC/3W5m55tUtcJTr7bXZoL2V9BBhKIyxmbWZNQshxDohdPDzosLGUlWsoqOZ2yXnRPy+WUQQ5/8ek= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=RvLpwTM/; arc=fail smtp.client-ip=40.93.198.29 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="RvLpwTM/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Nb8Z/UiK9Eh5Yjt7TIVaiY4ZYLmXV1zHeyW9gFSIfcEyfDbbXvkheL8vf8ozhnPec8WiLHQ0gWCtffjucUb30bS+KANCGZMnxM/RLrJ95TxZXFJO4WzIthClQatVXboXcqZNyI2jlXRqje3JbgKD6YAs989ISKPhWaXe6Jf2LX+z3XR/Q7oZIGKmnVXOjTrMvptmrNT0UP6FqQ8vTo2mKI1ca0yXSKyrwXQXc2qHT5nbO3wsmKwNnBbVq8wzyzuH3YyYE9tnS+wC8pQ2sAt6p8uC7omitVsF0ed+U5fUW6zhsfFNhokE42fwF1HQRjIJMcULHYUPxpKvInJVzjNeAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=S4EKVdMtn3oyjyGBCL5MzLul2WkQpHW+pNAqWPUajmw=; b=WhgLRJ+YpkJ2XqCIXThI2KbsuYA46QGm5wMmyOmld5Q2IKlDZMbkj5BLKPx1ivY4I4jHSNS+2ZR7VfnxZNVzUOk1ohjn3+kSBRN85jFwMxMUwP6S3dCQoSikF7HP0+HI9odNx/xaKwPGClkR69fE6aS1kJL3t+ktRKdeeotsgHdnBSQLbzWAO1nHTdoSQ7UQ1jwuL10yweOqm1DQbSOcfQI2a6ceiZw8GmjXVSQV4LALHBxlysBkQQyGh4aRF12V0Qv8CYvQz8VSUG/Bj1OTwAZtgFnV4im41hcaNSyxSOt6qvPOuxoXnjTxehWrAOuL1zH5WQ8kvbVdMajEQjM6lQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S4EKVdMtn3oyjyGBCL5MzLul2WkQpHW+pNAqWPUajmw=; b=RvLpwTM/3Ic0NkTx4wFoUKU5we/aO4VPuwFqaUybTY3oPAqxepAaIQY996EfvRKVVcvTTwm19bTqTi1K+w+6Ve6t/+QMQ8JnUE/IM4PToRHO39vGRD6ZcueZfD6JCnSOzGxUQoivcnKRN7wqw95qlltm+yVEknA4DqqdhktIifA= Received: from BN9PR03CA0676.namprd03.prod.outlook.com (2603:10b6:408:10e::21) by PH7PR12MB9152.namprd12.prod.outlook.com (2603:10b6:510:2ec::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.5; Fri, 16 Jan 2026 03:36:12 +0000 Received: from BN2PEPF000044A2.namprd02.prod.outlook.com (2603:10b6:408:10e:cafe::e1) by BN9PR03CA0676.outlook.office365.com (2603:10b6:408:10e::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.6 via Frontend Transport; Fri, 16 Jan 2026 03:36:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN2PEPF000044A2.mail.protection.outlook.com (10.167.243.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 03:36:11 +0000 Received: from BLR-L-RBANGORI.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 15 Jan 2026 21:36:07 -0600 From: Ravi Bangoria To: Peter Zijlstra , Ingo Molnar CC: Ravi Bangoria , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Dapeng Mi , James Clark , , , , "Manali Shukla" , Santosh Shukla , Ananth Narayan , Sandipan Das Subject: [PATCH 11/11] perf/amd/ibs: Advertise remote socket capability Date: Fri, 16 Jan 2026 03:34:50 +0000 Message-ID: <20260116033450.965-12-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116033450.965-1-ravi.bangoria@amd.com> References: <20260116033450.965-1-ravi.bangoria@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044A2:EE_|PH7PR12MB9152:EE_ X-MS-Office365-Filtering-Correlation-Id: 5a500988-58b1-41ed-be61-08de54b0650c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|7416014|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Uf1fRWVkcTPK+8ES5Zu+ES3yveeUy1l+feOA2SqSLQIYe6dLxQBRt35HQ4vt?= =?us-ascii?Q?jdxBfyO3/tjhkZ0fhlfKZszgmArcGhvW20zVZJ2GdAj+U10iVujW+fjfBCuk?= =?us-ascii?Q?VpaCKlhBq8Pr42sAOzFMESzFTIWbsp48g0FnOC1ZV3R41Ap8Ew2bUMD7NtaQ?= =?us-ascii?Q?Zeg+5mbcVpIpVSaUDBbvg01Spf1uEyitNY/xORcpyKxEfkUD/WHToOhXRQ8z?= =?us-ascii?Q?RURiC8LazufdUP+a81kcAVTWBPRciaWvEkmCOxOaKc2h1asR54Fj1MYlo2kc?= =?us-ascii?Q?l94bqDeQOUkrYOeL+OSfhAsYEXobCvirCoP/gX01DjFheZL/VWpBQiiplvfK?= =?us-ascii?Q?I0LrAoe0Jj6PpN9MyZ5xY01pWbztgg3+CIEsplSYnpCpMf1OqIuLv4/l3Knb?= =?us-ascii?Q?gOplJ8pwedFDKAhrqTeKfHzEeKEewy4YvCJr2TkUB5+3hz6d2jdGcDe7V8Ts?= =?us-ascii?Q?qWUISRAouIcmvdJXLZI/FHOAxlX0wH5bbkizpmNhg3T6AQC+2dRG6Ww2MEKd?= =?us-ascii?Q?JQsKNYyc368pBu7bSYdnat+qiErtbJL9CAkW5vjHVXRiqhIn7rPJyhDw+tCN?= =?us-ascii?Q?fjnzUXVz/Wjm0tca1pqygzKVIUhcQ8Bk8TTN7rj15qQ34n0iJ/mOW0/JucG0?= =?us-ascii?Q?jDI2Qr6AoYj/4j68MkWLY8YnXsl2F3bFb+sse7VZrJyoAPRcVvMdwkvWiaRu?= =?us-ascii?Q?TTMJRa2Y6kMKd3oxReF+KXqTu/4aWgEGz02Ab/qtTydDfRKmAVCv6eWs7xBM?= =?us-ascii?Q?8Q1xqH0Ldd9G8SgEYBAS/+80np1BIsOwlofvjtkTS4dOi+LF/gt88Gb1E33f?= =?us-ascii?Q?LOryW/srAzncyG8pwrrDFR7fRuqoaeVt2KGcijAfcr2YgA6zMBUqlsJpmX0I?= =?us-ascii?Q?XH6X546DclVO16pJaou9fJRKb5vagzQ2aEWj/l66lFjHTlr57yAw9ryTswEZ?= =?us-ascii?Q?TU15BUbXsjKZFp0anPW6aHFFXQTODEYqsxK396VDvOEe9gBwEZ2Ws+SNDmh3?= =?us-ascii?Q?QDGHwrsUgLjzosCKTTTUU6vL4cGJifvRgjxMmia1r8h4m4zwVy7DMTWD+XDl?= =?us-ascii?Q?dAYttF+BctrTYihfT9YyDMO6ekzaD+uosrBlVThXFoy+v9OjVsiDcY51tidZ?= =?us-ascii?Q?7eLgdUJAtVVxL5+EA5gtrqRyDnHQdFA3RCGn8xLfbtXj2wsDJtaFBYaWxRTX?= =?us-ascii?Q?eJKPerqgLD65zl0XQpTvJxtBmI+0wCX1LmgerBc1V5RjErhToyEWGIlfIQDy?= =?us-ascii?Q?n17TQSAhUimL50uD62DR75zDTDcfPvKNRGGkAaf8rgLZ2ORdOC2t2wuCpI4j?= =?us-ascii?Q?v+u2t7Ohbmlwhz+13NTjZeZOUX1A589w9XEJblcd436UqU5yKTb/PPZ56scM?= =?us-ascii?Q?qIs2hGcvLljthhLd59WRdXzqz5YYA9xy3w2eGjufYo854jNCIB/M60IV1Nnf?= =?us-ascii?Q?7PCDmDcTdxHouy7EsnyxHeYOXNFHNAQ9jqbOfM8FamLAyr6B56EG71xELWIL?= =?us-ascii?Q?VfCv3JFVw5lRTYU1jyzWdVZ8xcHliBUvJ7kgkhPZWIZRFvm8KpzkpnNd+ul1?= =?us-ascii?Q?5xyq4XGcSzDwzd4bxOxHM9yajxC7dVukQUpbAZxHbUFfaPkESvtwW6OPysdT?= =?us-ascii?Q?jUwWdZZKxwPOO4JR3OCkwQGctwqBUtvNCii/kmjrzFERjU1NHNGLyPUMWq77?= =?us-ascii?Q?kSKfgg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(7416014)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 03:36:11.9087 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5a500988-58b1-41ed-be61-08de54b0650c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A2.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9152 Content-Type: text/plain; charset="utf-8" IBS OP on future hardware can indicate data source from remote socket as well. Advertise this capability to userspace so that userspace tools can decode IBS data accordingly. Signed-off-by: Ravi Bangoria --- arch/x86/events/amd/ibs.c | 19 +++++++++++++++++++ arch/x86/include/asm/amd/ibs.h | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c index 0331bcd82272..b1e05a13df7a 100644 --- a/arch/x86/events/amd/ibs.c +++ b/arch/x86/events/amd/ibs.c @@ -726,6 +726,7 @@ PMU_EVENT_ATTR_STRING(fetchlat, ibs_fetch_lat_format, "= config1:0-10"); PMU_EVENT_ATTR_STRING(fetchlat, ibs_fetch_lat_cap, "1"); PMU_EVENT_ATTR_STRING(strmst, ibs_op_strmst_format, "config1:12"); PMU_EVENT_ATTR_STRING(strmst, ibs_op_strmst_cap, "1"); +PMU_EVENT_ATTR_STRING(rmtsocket, ibs_op_rmtsocket_cap, "1"); =20 static umode_t zen4_ibs_extensions_is_visible(struct kobject *kobj, struct attribute *att= r, int i) @@ -745,6 +746,12 @@ ibs_op_strmst_is_visible(struct kobject *kobj, struct = attribute *attr, int i) return ibs_caps & IBS_CAPS_STRMST_RMTSOCKET ? attr->mode : 0; } =20 +static umode_t +ibs_op_rmtsocket_is_visible(struct kobject *kobj, struct attribute *attr, = int i) +{ + return ibs_caps & IBS_CAPS_STRMST_RMTSOCKET ? attr->mode : 0; +} + static umode_t ibs_op_ldlat_is_visible(struct kobject *kobj, struct attribute *attr, int = i) { @@ -798,6 +805,11 @@ static struct attribute *ibs_op_strmst_cap_attrs[] =3D= { NULL, }; =20 +static struct attribute *ibs_op_rmtsocket_cap_attrs[] =3D { + &ibs_op_rmtsocket_cap.attr.attr, + NULL, +}; + static struct attribute_group group_fetch_formats =3D { .name =3D "format", .attrs =3D fetch_attrs, @@ -845,6 +857,12 @@ static struct attribute_group group_ibs_op_strmst_cap = =3D { .is_visible =3D ibs_op_strmst_is_visible, }; =20 +static struct attribute_group group_ibs_op_rmtsocket_cap =3D { + .name =3D "caps", + .attrs =3D ibs_op_rmtsocket_cap_attrs, + .is_visible =3D ibs_op_rmtsocket_is_visible, +}; + static const struct attribute_group *fetch_attr_groups[] =3D { &group_fetch_formats, &empty_caps_group, @@ -934,6 +952,7 @@ static const struct attribute_group *op_attr_update[] = =3D { &group_ibs_op_dtlb_pgsize_cap, &group_ibs_op_strmst_cap, &group_ibs_op_strmst_format, + &group_ibs_op_rmtsocket_cap, NULL, }; =20 diff --git a/arch/x86/include/asm/amd/ibs.h b/arch/x86/include/asm/amd/ibs.h index b940156b7d23..532c189e77b8 100644 --- a/arch/x86/include/asm/amd/ibs.h +++ b/arch/x86/include/asm/amd/ibs.h @@ -100,7 +100,8 @@ union ibs_op_data2 { cache_hit_st:1, /* 5: cache hit state */ data_src_hi:2, /* 6-7: data source high */ strm_st:1, /* 8: streaming store */ - reserved1:55; /* 9-63: reserved */ + rmt_socket:1, /* 9: remote socket */ + reserved1:54; /* 10-63: reserved */ }; }; =20 --=20 2.43.0