From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) (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 5EB6C3B777B for ; Mon, 22 Jun 2026 14:10:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.16 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782137404; cv=fail; b=BSAQlZ7ii+uFh5ppR2Vf3vxPVMYCkTHkaAo6GnOfZdUSoo8TVasjBu5wxbHvKijrsNo/PfQ3TZVMd05+XzXdLu6k75BTOSJCex0Ob74YlavSxlj2doibXzA3FtylygZ2XIBEjCoha58Gx67Bql29vLw5Jilh7QlHYyn5rVTKU5U= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782137404; c=relaxed/simple; bh=1A/8+zMsHunQb2LRBvp1wKjufI2A6M1JfXHbGQdza9M=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=A40YdAJ+S9T4eaptEv0wTPIeX4bXBzaTebrr1lnGMyvKLsR9wJtsiTdXOxgwOuRNIOU+6lagYlXoqoomtGa/i6nInSQFuDkNf6pQEfmWZenVha2IU2TK5IKskHFZ6ZfhGLmnz4dP/zT4mWYY0Ke/O53xEnFiM+KHVuHrMrUT5js= 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=nf/rpB8g; arc=fail smtp.client-ip=198.175.65.16 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="nf/rpB8g" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1782137402; x=1813673402; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=1A/8+zMsHunQb2LRBvp1wKjufI2A6M1JfXHbGQdza9M=; b=nf/rpB8gzlxcqRtWIhkZwdNOIZ2Sjh75eTErEgzgcfG/x6S3e0g21uHl G7FFrgYHG51vIejSt9a2B4rHlQVRPQlufp9VGUIOOmU2/IXJ0366zNmlH +SHJ4M3KGwJPAkbhGQzdDgxQsNQW+PcDspmE0hfa2r4MtTEep+2z6Hmf5 qbbAFtaZB5f2bsGeac9Xp1tR4bLUh1v6RxhxRbYC/7CjwmUeLLzT2xkbq UKNIyOixboynE/FJboxVYBbjSvdm5GC7TgdB2SvZW1c7MAlWwUNdlGAA+ twuvwVPAyWQpVIYv8zy8MT4PVSfnFkp/QiYRfVpStRo6AuHqQeLQnt6+Y w==; X-CSE-ConnectionGUID: sZLv1pBKSQKT+cssGMIdfw== X-CSE-MsgGUID: DE+eOQ8LTvmwUOelRwSjoA== X-IronPort-AV: E=McAfee;i="6800,10657,11824"; a="83058933" X-IronPort-AV: E=Sophos;i="6.24,218,1774335600"; d="scan'208";a="83058933" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2026 07:10:01 -0700 X-CSE-ConnectionGUID: GHiAKOE7SQaHGMz97tmC1g== X-CSE-MsgGUID: 65xfH3G5TFubjRlOIsJYCg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.24,218,1774335600"; d="scan'208";a="249286912" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa007.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2026 07:10:02 -0700 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) 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; Mon, 22 Jun 2026 07:10:01 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) 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, 22 Jun 2026 07:10:01 -0700 Received: from PH0PR06CU001.outbound.protection.outlook.com (40.107.208.56) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 22 Jun 2026 07:10:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=m9LYwX+1tJThQ9jZBT1xyIe8i6xB49M1nFkmC19O2GsC4j6wu9r4W0ZVmcWmKyuzNVZTdp6N4Htd2NSxjtoRGlaz53IQUcPWFQQTz3+7jxyM3bo6wMUGpL+zEAniDLRLiMsKh7rDUjj3nAARcFtE6N7iv71yyRTKST1ThJQvzSpNFSs4hVhTfVQIm+PlYYXGX1L1vre7/et9BK16YStmzMkDcerWG0WQCcXBx0sqKb4YWKSXDTeQAa2eAsOxUHIYwsRM/pqmtsiI3So6ZeC8FCInJ8Jcv+Xf6652E0frBDRuyC5pneqQeDtiDlEtEo9LnX32cUpTAjENGHdXd++RsA== 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=EWuijQj+ZBbYaHVuzhq6tAtkggqMnDRFZAAUZVEZiuU=; b=UEJefmRw/pMZ22ztLlBw7LiXtE9N5DATERw1G0JXK8ucK8KlaJZ6KxuoMHbj+ogNxHgk7Qqyl5u8a+wTL42jJDj5QZo1aUY0gqiFLca9N7lAjJExFNGmxzQA1D2mwoYeX2hKYmcELYeOq+ddVqgAVii8WciT2aEq4oYj81UqrQjw2s2z11nnSiSNC18aAwsnjx/CGbcQncUAHNxe5GB1k8nSrHAElNTkMgElc7Il3ypasuPqgc009Y+yZe41mCMZ8sibEtHTo5d3q2uIkok2wGB8bsza4smKhYZ6rfvTwNLiVZIXErYGuA9XAJ3R2yfmKtpQ0DQhJUKh81pwpep2YQ== 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 DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::19) by SN7PR11MB6603.namprd11.prod.outlook.com (2603:10b6:806:271::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 22 Jun 2026 14:09:57 +0000 Received: from DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765]) by DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765%4]) with mapi id 15.21.0139.009; Mon, 22 Jun 2026 14:09:57 +0000 Message-ID: <04f67dbd-43ed-4863-a51f-cf75e9a02e55@intel.com> Date: Mon, 22 Jun 2026 22:09:48 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 6/6] x86/resctrl: Add support for L3 occupancy monitoring via RMID MMIO read To: Reinette Chatre CC: , , , , , , , , , , , , , Chen Yu References: <21beef1acbba4bc7bbc6e54dc11868116638d5b5.1781332698.git.yu.c.chen@intel.com> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: TPYP295CA0001.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:9::18) To DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::19) 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: DM4PR11MB6020:EE_|SN7PR11MB6603:EE_ X-MS-Office365-Filtering-Correlation-Id: 605c1864-f331-49a0-f41e-08ded067f0d5 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|23010399003|376014|56012099006|4143699003|3023799007|5023799004|11063799006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: hkxfd2f7jBv4EV6Rqt4zA7z8RHbia3DXWzvgq+NQ7FZlE+Ls74+tnoBCz1s/O//ooO8SWiA86TsnNVLd75w2AtUdxIovkkIHkNFag2yti/B7OG+SjOy1lp00jjysaHJEBkRp99Svdfj4z+GCTPIiHUzpBLI/23rTG7v45igO6mpQtKmou6SQB6qGB1xlBdd9X5LguS/UV+UvVtkAUrwwJohrS5NpswnGo3cO0gBeeL+67vjUiZjlU+5CMKdeXVfSxzpsHwlfP0yZ3jrgE1AqBFy6pcXZyedo6VRRtIeMY+lNzKXGYFqraX1Kby2Bs6oLPGqkaprVPioHzsEN45cCpTWq139r0MUcl+qN2xE81vx+plkRHBPW3d5S9UQS4hDem5vwRMn3UWB17L93AOaNJuXrQTo+wraVNbFxLUyHpTMOtNG0UDflMVYjutH7Hq/eB06hp4nVPobr+83qOQnhSZ3Ocox+ruFL7wTjH0T60Nt/3BV0JAGIhb0dGPnQNRguXYG71djsliv5SgQ6Skhhzy0Z0Ii2L4sgdRdSdnPWfTiw3Y0HUir50wa6Jl3khozdM5bOBscyk4Xpr92ewmNkvtrdMM8bbIOhr234Eti29WcjYy/s56U2ZDbZblS3q+nOsdGxpYxqEHkzn5SA1fY6ZUjiez45odEwS0X92wk9F5Q= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB6020.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(23010399003)(376014)(56012099006)(4143699003)(3023799007)(5023799004)(11063799006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZVUrVnVtVFVKRUVHRUI4RXJXbWZXeVp6clJTeHAwVGJJUEhSZ1Q3eHJvVy9Y?= =?utf-8?B?SmkzSkFrWXVNdy8yT2g0NXJnM25xd0JUaVFUNDVyM2FzaVB4QitsT283QTNI?= =?utf-8?B?SHV3MTRxWUVDVzZ5ZVcyRHdrSGo0N1Z6bGIwcjhaempTZ0RvNzR5b1pydFZK?= =?utf-8?B?aHFxZWM3TXJTYTZ0S1hUaTdyWXF0anp0NlAyOStRQ1NJVmg2V3BPNEtpS3ky?= =?utf-8?B?Ym1DdzJsdCtNOU9yTGNObWhvMzA4REZxMXMxUUhOV09rUFlpRnVvV2lVdjU5?= =?utf-8?B?MmJvNGYwNVg4VnMwcFJERmg1V1FqeVo2QTExTU5PSGlIMW1BQWhSR1dOemVO?= =?utf-8?B?c2FVSHhyNlg4RGxSSm5YbTYzaEtsMUJiaGZIbHlIaDEwKytoekJyZTRkNFcx?= =?utf-8?B?NkhoVkt1SXhxcjFzMmhZbU0xQldQd3JJZWJhMFdheHAvT0VKWGRxZkx0Ty9y?= =?utf-8?B?NUgwN05KekdwRVl3VU9iWXhmMWgrSHVkWktNbjd2MzFTMHVEOWoveW82NUlB?= =?utf-8?B?NmJRa0s5cmlXYUVnMmQ4K3RvemM4WVpTdFlkNWRSdnNhWnpPWHJCUGpCbTVT?= =?utf-8?B?SzlhbWt0UkJHS0p2Z1I1cGFBdkJMRTB4YnFLZkRRWjBZM0dvcXBDVWdHdVRT?= =?utf-8?B?N294WmlFVVlFOS9MbTNLZG9zL240ekFHWkdiZXRiWENYcEhYbEtybW5XUFVy?= =?utf-8?B?cHQzR0gyeVkvY2pEOHFFMHY1WmZrblprbDU5dzFNb09ZdlpveWFYRnZjNTZM?= =?utf-8?B?ay93TUZDRjEzd0hYbFRpQmJFM3hDblBHS3IvREUyQlcxTndpeS9IZjFkVXRZ?= =?utf-8?B?NGJyYlVtRVVsSFlvNUZNTnBPbjlYT1duaEpjMEpNTldTYXF1Y3FxTGtzTExs?= =?utf-8?B?cVhoYk9CeVhlWi9MbkJMRDlHVGlCbzBpVE5CYzlSelM5TzhMZ3ZNNnJBazB0?= =?utf-8?B?UUNZUU5VRm9OUmQyNFBvbWRPOVZENlMwWDhPMHpiLytYbi9VNllTLys2T3ph?= =?utf-8?B?a2Q3ai9mOFNTOTJlYmROSzF5MVRINjFUWDltTXN3K2xxSDVNYk9WYS8vakJz?= =?utf-8?B?Y0xVWmhua2hNck9OL2pRN0NkTUhlam45eHZERWVUQnV4bDgrSk80cG9tV014?= =?utf-8?B?RWo1ang3RmtKbENiUWQvZ0x2NkF4L0N2K2laZElPYjMvL1U2UXpvclhmT3pw?= =?utf-8?B?MS9vaTdTN2JmbldXQzBSMGxHS1FEQ0c4bE5uOGxtU1NPMUpLcjdoSmR4T0FO?= =?utf-8?B?NFJsd2h5em01UzNXS2E0dDdTSGFxZ3dXcmtKRW5jTlA3Q1F4TWlyRVpGbDBM?= =?utf-8?B?U0ZrckhlT28xdGt2TUsyVEl6RHlCK21nZHdrT3FwYkNnWDA4SWtlOTJsV0tr?= =?utf-8?B?Qjh2MzRESlhpaE1qRUNlNXI5c0pZZlM0eTlEWlBQTVMzTzVIMDVSbHFDTWFR?= =?utf-8?B?c1AwaEw4ZjRzckxRMlc2VUFSZ0dLVzBtc2NYdisydnlySGpFU0tRYzVLaExs?= =?utf-8?B?OXBrVElBYlZmUHpUSzFoNnZZdWhCbEhHVDYwVW9NRkRTbEFXNWxPVThQWnJS?= =?utf-8?B?OG02RjdzV0tUTGdIK0VYMkdCZWdLNkFoOU1CSjdxbVY4cHdOK2RzczV6Ymk2?= =?utf-8?B?bUpYWkEvUUl4cm9NeTV4a2lpWnZxS1U1WEpOSlJSZWVCSEw3L1hnVmgvZEZk?= =?utf-8?B?aHQzQUprRUFaOTJDRDhzREpQSUFLZ1B1Y0xLU0xHWTZTd0lqQnRSWXpLd3l2?= =?utf-8?B?dWhJMnNzTHJ3c1RIZWZ6cFJQMzRUSWZlUlhoYlA2Q0h3Zm4vWDRteS8wZVBD?= =?utf-8?B?eTVVeDRnSHpKTHY1MTlTRkVPc1FtQk1wSG5pWEhpRGx4ZEVVK0pROVVrRk4z?= =?utf-8?B?SkRhMEUyUUtzWXV1MkkyMk4rallMdWVDQlROU3FTbTVYdW81ZXpQV3ZTQ1lI?= =?utf-8?B?QnhMcFdjbjFadzNDVkcwOHNweHZGdHYvdjBick14ZkdPV1ZQdEVQVm5uWVFi?= =?utf-8?B?ZlFhQU1ZcEpyK0xST29qQ3l0TzBpc292VWhwUHh6RU4yL3NoblpSY3BuV3FC?= =?utf-8?B?aVQ4UU9ITVRKekJoakU4eE0wdUxaL0tJanl2S3ducHlZSE1COVR1aUM5VHRG?= =?utf-8?B?VVBNby9Nb0lrQ1NIVTBWR0ttR0lheFlLY3lJRWNpdGNMYzBPZW93dmJUaVdp?= =?utf-8?B?YnY2dmtuT0ROYnRWOWpPQnhDMWlBdUpYK3JvWi9hRVhFRVZkY0lCNndjSlZR?= =?utf-8?B?Y0pPWi84RW9qSTBzT24zTFBpR2tTbEpVNjVNdW1lbFFVYVFuRld6Zmg0WjU4?= =?utf-8?B?ZkI1ZC8zR08xcDBvSE9ZcGx4ZjlhbXZtUzdMZW9TSUk2SlAyRi9KQT09?= X-Exchange-RoutingPolicyChecked: oDpcOwm/OzkY0EnazxG6xvSe40+Hlr7J8pz4fhVH+aqGyhFWMiy8oP6qTUERDZO146uBzum/TB6D+Php6/vJV+D+EFTb+YpSOkgocB3rSfZleTjBtInmqzT30oeQICPJ6ThWVRhT0JkFMDBKlxq8r3W5rHExyDQ8TQTiVdzARSdsEPpSQmtTy89J/gCbue62mMnKWSiN5Ol7AwaRKDrBa8PGmmE9k6dGFmgso76jHDEE8+vv48n8mXJWjE8RbrLDpfd6qgnhaydVhOhHOu2Ja9A1zaIG2S3ZhSXx8QE0j7812nzm3JDZdG1qB269vWMqfSOnFLGD4La82tPhQxIq/A== X-MS-Exchange-CrossTenant-Network-Message-Id: 605c1864-f331-49a0-f41e-08ded067f0d5 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 14:09:57.5330 (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: dSOkTg6R6GqNV4aAxzaxyfNJGoyvIMJiZleTXTopUgJOxBVGDtAFeWsKUAsKLQgSRFIY2j+gCN8/emY8qIk5+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6603 X-OriginatorOrg: intel.com Hi Reinette, On 6/19/2026 7:40 AM, Reinette Chatre wrote: > Hi Chenyu, > > On 6/13/26 12:57 AM, Chen Yu wrote: >> The CMRC (Cache Monitoring Registers for CPU Agents Description) >> ACPI sub-table provides the MMIO address used to read the LLC >> occupancy counter for each RMID. When ERDT is enabled on the >> platform, use this MMIO interface instead of the legacy MSR read >> to obtain the L3 occupancy value. >> >> Introduce erdt_mon_read(), a helper that retrieves monitoring >> data for a given RMID and event ID from an ERDT domain. Initial >> support is added for the L3 occupancy monitoring event >> (QOS_L3_OCCUP_EVENT_ID). >> >> If the platform supports ERDT, CMRC-based MMIO access is used by >> default. If ERDT is unavailable, the implementation is to use >> MSR-based operations. > > (nit: please write in imperative tone and use entire line length available) > > ... > OK, will do in next version. >> diff --git a/arch/x86/include/asm/resctrl.h b/arch/x86/include/asm/resctrl.h >> index 97c2f6bc7a5f..9b3b03279dd8 100644 >> --- a/arch/x86/include/asm/resctrl.h >> +++ b/arch/x86/include/asm/resctrl.h >> @@ -41,6 +41,8 @@ struct resctrl_pqr_state { >> }; >> >> bool erdt_enabled(void); >> +struct rdt_domain_hdr; >> +int erdt_mon_read(struct rdt_domain_hdr *hdr, int ev_id, int rmid, u64 *val); >> >> DECLARE_PER_CPU(struct resctrl_pqr_state, pqr_state); >> >> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c >> index 90730f0851fa..fe812f7190fc 100644 >> --- a/arch/x86/kernel/cpu/resctrl/core.c >> +++ b/arch/x86/kernel/cpu/resctrl/core.c >> @@ -965,7 +965,7 @@ static __init bool get_rdt_mon_resources(void) >> bool ret = false; >> >> if (rdt_cpu_has(X86_FEATURE_CQM_OCCUP_LLC)) { >> - resctrl_enable_mon_event(QOS_L3_OCCUP_EVENT_ID, false, 0, NULL); >> + resctrl_enable_mon_event(QOS_L3_OCCUP_EVENT_ID, erdt_enabled(), 0, NULL); >> ret = true; >> } >> if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL)) { > > As mentioned in patch #1, when erdt_enabled() is true the enumeration still proceeds to > enumerate the monitoring properties via CPUID to discover the number of RMIDs that the > *MSR* supports and use it as the maximum RMID (and thus the maximum number of registers) > that MMIO supports? > OK, will switch to the maximum RMID exposed by ACPI table, if erdt_enabled() is true. >> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c >> index 9209927f88a2..1491f96b57c3 100644 >> --- a/arch/x86/kernel/cpu/resctrl/monitor.c >> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c >> @@ -278,6 +278,13 @@ int resctrl_arch_rmid_read(struct rdt_resource *r, struct rdt_domain_hdr *hdr, >> >> switch (r->rid) { >> case RDT_RESOURCE_L3: >> + /* >> + * No SNC for mmio based L3 occupancy, so there is no need > > "No SNC for mmio based L3 occupancy" is too significant to be buried like this. Could you > please elaborate on this claim and enforce it with the implementation? For example, > could rdt_get_l3_mon_config() WARN and *not* set r->mon_capable if erdt_enable() and > snc_nodes_per_l3_cache > 1? > IIUC, SNC happens to be unsupported on platforms that currently support MMIO-based access. I’m not sure if there will be a platform that enables both MMIO access and SNC. I’ll add a WARN here as suggested (and handle the case if such platform is introduced later). thanks, Chenyu >> + * to convert logical RMID to a physical RMID via >> + * logical_rmid_to_physical_rmid(). >> + */ >> + if (erdt_enabled() && eventid == QOS_L3_OCCUP_EVENT_ID) >> + return erdt_mon_read(hdr, eventid, rmid, val); >> return arch_l3_read_event(hdr, rmid, eventid, val, r); >> case RDT_RESOURCE_PERF_PKG: >> return intel_aet_read_event(hdr->id, rmid, arch_priv, val); > > Reinette