From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 1F344282F03 for ; Mon, 2 Mar 2026 23:12:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.7 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772493166; cv=fail; b=GGckRAV6ZyJ0w9kt27KbT66IdrfoDFZQwF/tykG3jm55QRMJkQBOSGjeuFXht6bFzZEy4KitV4ED7pi+pgjmNYq+1BNmOqWTJ7sSWTjEv/oEIp+maXVUl0JNg12LM6IAcvmlEqvirfXdPpzKF3QazqMPZCvZAEPXxyv9I/tJTFQ= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772493166; c=relaxed/simple; bh=9Ok/bTVVR9fSa0+gAyq6nIcr2oCUbXvEZz5iFAPEkHg=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=WUdOdOc3vv0xAZ5mVQz96cvGrCZ9/hO/8nXJ0H2+NxLJPF+Oc4/gnOfRiaUg2TbzRylR+glYdX+ZDHnK5lNzEQW5dxzCSmPVCVtcc+vhCUsDJ0oVXLAMazPAsUaQ/eMAKyjF+pjqLB2E2r8vGtlqHz2lxgaHEY6pA9JsmOtNpWY= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=NUdT9iGu; arc=fail smtp.client-ip=192.198.163.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="NUdT9iGu" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772493158; x=1804029158; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=9Ok/bTVVR9fSa0+gAyq6nIcr2oCUbXvEZz5iFAPEkHg=; b=NUdT9iGuR0SGX/+H7XAEXR9XXJlg/nUKoCdJrS4127Nw2/3By5r57XHd nynM0twTJ8zpcpZJdCevwcXgIBm75DKllo+o5K1mx893p3NwVob62/n81 fLSOGuzYIvrKy1b48G6cj6336RmwSe8+cK/f7pbnAzHxFgjzCiLvTWp/g OufSmZir1niSnfQfLNvXVXL6MXL/0uw/sj/p92wPG7z8dJtbLew0IJ/Nf BatRnTt3JO6u9/Lx0eATQqCF3z1Ypcice9AjLOK5DFfD67PPiXO6W5fpN J42IYc5R2FwEVpl2rTr2oJbWzmRkXoCLm7qvVqRHNQw8vhgJBdRMIwZrS w==; X-CSE-ConnectionGUID: ZwdrJRaBRquUUzhK/Nut7Q== X-CSE-MsgGUID: TL31/XqHQ4GjreleIBzk1Q== X-IronPort-AV: E=McAfee;i="6800,10657,11717"; a="98988458" X-IronPort-AV: E=Sophos;i="6.21,320,1763452800"; d="scan'208";a="98988458" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 15:12:38 -0800 X-CSE-ConnectionGUID: ubtKG60MQR6pT9Txr1/5xA== X-CSE-MsgGUID: POWDB7rkSjen7c/k2M0Hvw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,320,1763452800"; d="scan'208";a="215768795" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by fmviesa007.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 15:12:37 -0800 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 2 Mar 2026 15:12:36 -0800 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Mon, 2 Mar 2026 15:12:36 -0800 Received: from BYAPR05CU005.outbound.protection.outlook.com (52.101.85.4) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 2 Mar 2026 15:12:36 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Q8RExg6poUOP6/OlTSabLnwD/viT6ENeKcOp8//npoim2Ubj3IJW8Xr/c0SEHGsu/eofzrI8MwCI6h4zUxGS/x83/aFsyZJxS1dtXjdB2aIF1MoAMlTunsw/fV47Z2WhdCKXt7lwmmN3RArroLfBl+wHjwm6kCct+pj4cJRnRzloiR6FtMALLnCaCrYeFucKTYQvQBZ51kmoSxMHN77tXOWoY5behhZon0zYGxrlhT8BghXgW5vf6KFycpR6odlz+s42CSpx3Kp8cbVIhXGHwMk1rT/khdpfJt9fdT+EvVDRGMTyXnBazdD0Jf/dVYoVEF8TlEdDdjhBqzzThgnoNA== 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=auoMiOASl5Jff3aJlEZav0LB6gamXJoYpMnkS3udyus=; b=TFoDvCxh/JhjayBI2ZGpIOCzbBDgTr3v9pOR3QGrfIBE4Oa5cRYB6bx/2Sa4I9pkRWz/Bi4mdLHg885n91JkUuTQgVdPY1jNU31mzpZOxSAukskVBEg5F6t7fu9+o4ShnqndxqeNqh/h3U9JS2b7vy13fXruM/eVlPfDQvsgQItPqv18jD476qbw7y2bk1pR5VwqZcEks0UcfkeOZelkQRgKnBfcoFHLclQowoGKfZqmLMW5fCcNjtZlzFaln4UKsrVXGt/qmuF5Ei+dZe1g4nhQys5o1jupga/tNlFsytehIZrpJuFtfmyKAjxmH+GaJ5YSiMyTD+P14u2Oxp+lVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from SJ2PR11MB7573.namprd11.prod.outlook.com (2603:10b6:a03:4d2::10) by SJ0PR11MB5866.namprd11.prod.outlook.com (2603:10b6:a03:429::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.22; Mon, 2 Mar 2026 23:12:31 +0000 Received: from SJ2PR11MB7573.namprd11.prod.outlook.com ([fe80::bfe:4ce1:556:4a9d]) by SJ2PR11MB7573.namprd11.prod.outlook.com ([fe80::bfe:4ce1:556:4a9d%6]) with mapi id 15.20.9654.014; Mon, 2 Mar 2026 23:12:31 +0000 Message-ID: Date: Mon, 2 Mar 2026 15:11:48 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 1/4] x86,fs/resctrl: Make resctrl_arch_is_evt_configurable() aware of mbm_assign_mode To: Ben Horgan , CC: , , , , , , , , , , , References: <20260225201905.3568624-1-ben.horgan@arm.com> <20260225201905.3568624-2-ben.horgan@arm.com> From: Reinette Chatre Content-Language: en-US In-Reply-To: <20260225201905.3568624-2-ben.horgan@arm.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MW3PR06CA0011.namprd06.prod.outlook.com (2603:10b6:303:2a::16) To SJ2PR11MB7573.namprd11.prod.outlook.com (2603:10b6:a03:4d2::10) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ2PR11MB7573:EE_|SJ0PR11MB5866:EE_ X-MS-Office365-Filtering-Correlation-Id: e0fee068-f15f-4f99-1b67-08de78b12dea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|7053199007; X-Microsoft-Antispam-Message-Info: +gH2TztivkN+qwTmqfJwXxOxMOmiU0BaMLqTgghJ6Ogvq/tUFQZTwybaBFgDp2/mjLy1ICDdX7+OQrvADRjgea970zSGFCXxBQeBCkUHD+TJcfvf6GvJHdmPqv8XdNhPkBybgS1MxV63dIxgJrtgR8Y4SALusMEAWcZUwTIS/paQ1Rj0DQx7gMO8zdy1XPAIwbgjdo0e+kq2YXLGy6KWkZthmE0GtGM4WbRdHMisea9YEpa3RLsf6AqUqZ7JNC1xlpkGSK+4N8vdB8bdPjnGBv0vHJhv0tGyynWINdq+YC+ks+QWuYd0th05S0r0GxlUFrU/6ZMV8Vawd17va8A+7ZFJblut2+e0sXV4IbCRhCOC36/4i5ToRGZEmRUZKs7xpBJrpDa2aETpjwc7KExZhnmbIF/ILdLrpIwSqGhoHbH7TsM3bTylVbldKDH+GXUeSvp8h3IxLzlktdOp4Yg1GVQYs0jlmVedw9KTxtjPNgJhzi1JK4pAybQB31OZD6Mi0EfxzjpFgqUwKd/jXUmBgCPdlvetE6DUkqyTtFDZJ6PdDmAeHUwGIYMayQLNmiDR/Mxb0lu0OaFDkk/ITsX5g13T96Nj7+JoFFFmACiy5zH8okLoRqvH2UqjbSZQ9Kryd5z5QhHiQvXhOMrLMOpW/ORZl6RI2qUrDtfEZ9CT9DsL+tJaXgOqigi2QTJgEpYp5OdtkhvoVaVPMd4HCg7weECGspf1504V1G0tMbDO2EM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ2PR11MB7573.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NzJGU21nN21qVUZNallWUnpiUFRuQ3duNWEwSkh1QVpOL2FHOGltUFRhQUh6?= =?utf-8?B?WFVzS0xHb0MyMTFXTS9ST3FiSGpEV04vSC9XZ1AzMUtkSldNa1pBUFdwKzht?= =?utf-8?B?WTYvM1ZyME51SEJOL2NFT2NKdDlkTGhGUm5HS1Z1aXpOSldrOThUVDMwZnIy?= =?utf-8?B?U1ZITk11K1lsNDRMWk1OV3pMRFo0QkR0eHd0OWluYnYwWjgrdkwxZVNKNzFj?= =?utf-8?B?NHZOQWxaMzd0SmNpc2JSUXhIRnBRTk9majhNUVBBZm1qUXppMDEzSCtqc0ZE?= =?utf-8?B?dnc0NVZPVjQzT1lHMUlNd2VoM1ViNC9lN1U1Ukk2THFsQlJwbE9RcklDMEc1?= =?utf-8?B?b3lYUHBBRCs5Nk5QaTJsYWtZK2xERUUvUC9jV0g2Uk5UUldtV25IMHVvT3ps?= =?utf-8?B?aGlZejROUmF5OTRHdm4zWXM2Qmx4YmpRWC9Ycm1ZNXFCWGlmSGROVk8xc1Vt?= =?utf-8?B?K1pya25TRDZsbnhJaGlxZjRvUjdYVHNoMStZTU1yR2h1d0JqSHdLL2orVGgx?= =?utf-8?B?ajdyTjhSR3g4aVNpbmJhWncxRS9ibmhqbEFRS0t6UGxScTB4SkR6TUxRSG5x?= =?utf-8?B?aUx5SVdmMnRhb0JRMWlnNXgvTUdOSWJCWURSSzA1SGR2RUJnemg2YzZPcG1N?= =?utf-8?B?TWorbHhWb3N1cnRndEMwL0FMLzdMQUVwbVYxM3J1Q3h4OUJFZ1NyU0wxRjdu?= =?utf-8?B?cnByb0ZLTmFwY2VpMTVSOVZWWDRGL1FxWFJOV0k0VzBydk80aUFsL3dsQ05U?= =?utf-8?B?b0p3bis3bEg2RjRwYjliaHhDVmQxSEpGM1E5cVVBUDAxdWtHM1lUMUl1ay9J?= =?utf-8?B?V3A5TDdXUzcyUHN3YXhvckZoYklKSTJ0NE1lcXMwbVc1ZmFzaWdaNjV1Ujc5?= =?utf-8?B?bWNhbWRMbXJuU1NnSTF4OG9odWhGQnd3UVc5WVNFYi81WEVmYjZjaWZmaGw2?= =?utf-8?B?dzVkSENsbkRnTnlJK0UraEx0Z2hpcG5VR2svcEtyanR2eFhtZU5ONEZOeENv?= =?utf-8?B?eTJPM3gvelJzbVF5QmkvaFNUaFJYRUI2REliVHRIRGFkOHdkbG9OZlVSYUEx?= =?utf-8?B?RzM0SS9hTlBpZzBOcmljVTk4OHVJZ3ZCUjBSblFndy8zN0RGeTFEdk5kZW93?= =?utf-8?B?TXpWdWZwdTBaOU1sbjhReTV6di9uZ1BRd2drQUZ5Y3NVNmNaMzZiL3Fnb1pX?= =?utf-8?B?bWZrRWhnMzZaVFVZd21rdVJjQzlBaEtUZGpHSUMxazR0VzVoS3g2VzQ4dW56?= =?utf-8?B?d3JieEFwTU94VVhNdXRDTmRvUXZlRVFwdGQ5VEEzZG1mcjdqbkplTk9meXVv?= =?utf-8?B?ZTdVSjRwVXlpOFVYUDIzak8wWCtGUWJsWkllKzR1S1p1Z2tCU3lFUC9xTE1H?= =?utf-8?B?bFFIbGlMdkp1a0Jud3N2dU5iRlg1OGo0MVhkbjFHNzZueVc1dy9ibCt3TERC?= =?utf-8?B?TjJLd0ZKd0FmRmpoNkdUZ3BETmQ1VEhFZ2svUmFjZVI2Sko1dUpQUjFmL21l?= =?utf-8?B?UUc5T0FRc2Y4Nmp0TldmVFhkdTJybzZpYWg1Njg5dWZRNlRyUlQ4bDJZNCts?= =?utf-8?B?QlphY0V2OWpxSmdyM3F4VEY0VTcyWk5XNS9EalhCek52T2JLMmtmWi80SGN2?= =?utf-8?B?L2htMEFCWkUwZVg3WDQwTWY5T0F2QmZ4UE1SUEFyNW1GM0plQy9Ldm9ScEhU?= =?utf-8?B?WjVkRlUyTFBTNlVkTXBRTlhWRDRiOWo1d0Q2OXFxNTFiUGwyallUNkxnZ20x?= =?utf-8?B?TUVqeG02VTVMWE1GTmRUd09FNVc2U3BzVTFoWlh4SkR4S0xBNHRDM0RPb2g0?= =?utf-8?B?cWZ2WFM4a2hYbCtNSG1zeUg2RTN1S0RpSWtrVWNzS2tUam1TdzUyb1NEajQx?= =?utf-8?B?dkY4UHZ5emdTVEpMRWI4UiswVVA1dytxb3VCeG9pdEpwWVJINU5obnJEcmlJ?= =?utf-8?B?TVg5SXZ4bHd5WU90c3BQMERIV3Yycnc3dVU5S2FLM08vUFg0dlBldVpWem96?= =?utf-8?B?cHhXdVpFZ2JtR0o3UXdhWkEyOVYwUFl4REhjT0ZHYjV3OE5Pa1NyWFZQRS9R?= =?utf-8?B?a1VuQ00rd1U4cjZVejBDNytUUVduKzI0Wk56SGQ5aFlLMVhkRzVicnpWMkhy?= =?utf-8?B?RS85aEk0UDB4b2JmU0diVlJSMVJvL2pMS2FId1pVc0l3eDlDYlFhaDgzamJn?= =?utf-8?B?bHp3dW1uZFhUWDZMLzJGZzhGbVpLaU12R3dVeThvNEwwOFY1aUd2dnFWcFFy?= =?utf-8?B?QjlBMFpTNi82TXgxTE1tY0IrVEhOcS9mK0h3MDViSHdrR0VZMnF6YTJlcTJu?= =?utf-8?B?UEFGUWF3WUhIYkdKYkM0YUZWRWhza1l1RlBuN1JsSjJ0SFU1SUYreDFoNk9q?= =?utf-8?Q?8npcvM0DCnun3DGQ=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: e0fee068-f15f-4f99-1b67-08de78b12dea X-MS-Exchange-CrossTenant-AuthSource: SJ2PR11MB7573.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2026 23:12:31.0298 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fpl4FpWBhTwzaa8gqgFuMRUGL6iDmBu+MhXbcZyqCgOsMjU8mLE42+mHtQpEsW807v1rPQV+SrCkZw+dejVFNNDWyk2sj3nPBaxTXNee+Bs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5866 X-OriginatorOrg: intel.com Hi Ben, On 2/25/26 12:19 PM, Ben Horgan wrote: > The features BMEC and ABMC provide separate interfaces to configuring which > bandwidth types a counter tracks. Currently > resctrl_arch_is_evt_configurable() only ever returns true if BMEC is > supported. > > ABMC is useful even when BMEC is supported as it also provides counter > assignment which reduces the number of hardware monitors a system > requires. It is an architectural detail that ABMC provides counter Since the goal is to support MPAM I'd suggest that the first focus be on what resctrl fs supports and exposes and how it does or does not work for MPAM. > configurability without requiring the prior feature, BMEC. On MPAM systems > these two features are independent and the bandwidth types are limited to a > choice of only read or write. Does MPAM support exactly these two features? Specifically, does MPAM support a feature that allows user to configure events globally per domain and another feature that allows user to configure events per PMG? These different features are how I understand assignable counters and BMEC to be and to support both at the same time requires a user interface that is confusing since the user can concurrently configure events globally per-domain and per resource group. Could you please elaborate how event configuration work on MPAM? If find this series quite cryptic. I think it will help if you could elaborate what MPAM capabilities are and how you expect resctrl fs to expose these features to an MPAM user and how said used is expected to interact with resctrl fs to use the features. > > In order to give resctrl the information to support these features > independently extend resctrl_arch_is_evt_configurable() to report whether > events are configurable when using the mbm_event counter assignment mode. > > Signed-off-by: Ben Horgan > --- > arch/x86/kernel/cpu/resctrl/core.c | 12 ++++++++++-- > fs/resctrl/monitor.c | 4 ++-- > include/linux/resctrl.h | 2 +- > 3 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c > index 7667cf7c4e94..d35f4417d55e 100644 > --- a/arch/x86/kernel/cpu/resctrl/core.c > +++ b/arch/x86/kernel/cpu/resctrl/core.c > @@ -877,11 +877,19 @@ bool rdt_cpu_has(int flag) > return ret; > } > > -bool resctrl_arch_is_evt_configurable(enum resctrl_event_id evt) > +bool resctrl_arch_is_evt_configurable(enum resctrl_event_id evt, bool assignable) > { > - if (!rdt_cpu_has(X86_FEATURE_BMEC)) > + if (!assignable && !rdt_cpu_has(X86_FEATURE_BMEC)) > return false; > > + if (assignable && !rdt_cpu_has(X86_FEATURE_ABMC)) > + return false; > + I find this very confusing. > + /* > + * When ABMC is used the mbm_local and mbm_total events are enabled > + * based on the equivalently named cpu features. (In order to allow > + * fallback to the default counter assignment mode). > + */ > switch (evt) { > case QOS_L3_MBM_TOTAL_EVENT_ID: > return rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL); Reinette