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 6222D74BE1 for ; Tue, 23 Jun 2026 16:48:21 +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=1782233302; cv=fail; b=qShZR81xHd0eDkAjsz/zirjBOAcrdD3FVcl1YZK/M7h/tUlfHI06sgc8y/KoOOC+Nj9+8Zh4oxmmHwWIVdAq5o4MWySDWuQBCqCrEj+Z3Sq7sq9QI5nR9UnWbJ6Huex0JOVbFbfR0PZn6XlGzDUQ6Z3qgFOvcqQ/HAG+/JtiAHo= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782233302; c=relaxed/simple; bh=SsVXsuEMujGDhJ1UICCtRD00NEbkC0bzLi+H+2JdfV8=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=BR3tatJPeknZKtC+WvQahxlv1UogZ+jGTxNiXCLtvLlP/L39bCLDCnnrKAIyKUlWXqHlSIfs3lvNNiSRkEPYY4P0Zw4g53Ngk1qYDy3VY6eCeuYY0UFvwyQDdZ+ogRlCWncc7rzQtgKWdvU4wV34I2EKdYRON5ERJSSnTH60gKQ= 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=f0unF4pj; 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="f0unF4pj" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1782233301; x=1813769301; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=SsVXsuEMujGDhJ1UICCtRD00NEbkC0bzLi+H+2JdfV8=; b=f0unF4pjA8vsoCA24rY7nvcy9wAPBWjydAxKtFtt6xvekyV9FnY9j4TY ohTletjtODrQpe+fSce1zHs7BokxTsEq2jsZNKHmX/EidEYEx5KTIDtmm avMMXF0fxjApT1WsiHdCx7nu5blaaR5tb6ZrEh49YERkNYKScVtCCAe8I TJG248ypMfIAGgmHXWXY6E/m1dX0VXLpw/7O0pL38bQSwnu26dKeEjwDJ QxoJDnFhpHlP6tl8Rg3HldNwZFVKP49znBrG4Iuwy1Z2xCICnDewUR32q ZyTrUN+O0SmE8Ileh2U745cX+71buMz8oxLbnzkrUbbQmAC8P/VO6dbXw g==; X-CSE-ConnectionGUID: bJP2ndj3Sh2NfTP26Ohp7w== X-CSE-MsgGUID: lQvwaYDiRN6EfNz0c4WB5g== X-IronPort-AV: E=McAfee;i="6800,10657,11826"; a="108524597" X-IronPort-AV: E=Sophos;i="6.24,221,1774335600"; d="scan'208";a="108524597" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2026 09:48:20 -0700 X-CSE-ConnectionGUID: HSKCCnrTT5aZeVrNBcdx1g== X-CSE-MsgGUID: pl2WwJKOQTaYURHxNEiEpg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.24,221,1774335600"; d="scan'208";a="245196164" Received: from fmsmsx901.amr.corp.intel.com ([10.18.126.90]) by fmviesa006.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2026 09:48:21 -0700 Received: from FMSMSX901.amr.corp.intel.com (10.18.126.90) by fmsmsx901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Tue, 23 Jun 2026 09:48:20 -0700 Received: from fmsedg901.ED.cps.intel.com (10.1.192.143) by FMSMSX901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Tue, 23 Jun 2026 09:48:20 -0700 Received: from CH5PR02CU005.outbound.protection.outlook.com (40.107.200.47) by edgegateway.intel.com (192.55.55.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Tue, 23 Jun 2026 09:48:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xNyTx1n5lGO6Hxw8dA8uQ1j+hExwCpgx8HIXg8iw3gE6L96eaoHQ6ECUvJ3lOxNdGbAvu40pZyXdtry+tFpqZPzSmF9sx5p06FbOELk1h+GhAzULy5XgV9oWbEwmW40pWaSunncXUwY5IJ3L4yNrXiGNw76WhPRa16/RGx8dsfIwtFo/esMEzPfCgySWYKO8Zyq50AhtNnof7c2/ujKa6OnqDhbXJU/tyHmq8hcfUIa2/yCjPCnomfVbsqqFML4QwoCK6WEk0k/RWxORLwjRzzc9Ebq1DbFmnCPdU9lMQGCP8ad3WTq9uHP0WydoAyQW5MzSCnUyRmZeNTRfUB4WaA== 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=r+AUoy9rN3xSpaqadsdn/1eOoCIVwz1iXyzQSGGrMYE=; b=cm3A+OWJLyf2XaK+O7TuO8bdrGxTCqYASXAJNnlIr8/YlCuEoHD0NEx6Mm+hkFyJnp9ILU+t+DwfBnQBtjSXMoVciR29qzyOBb7pd81e0pk05mgpKMKb8OMVOllO1+gu/SkFw2UFBe/dJLoLwHqPakGm/XQ+IRFMPrcJbgp1ga/uEV9lRa/ISENC1u5RH8mwzfNotNSc2iLRYhZlujS2KIkHHpyyFDdPbcy7g/3YboHnttHrEC5rODaW37gp4ZFCiMatEkwie4GnKqqDF5c+8/8ZfMlX97B8gjHQDySYjYJyeHvLvlZx4gdXm/CmsN3cIM3AXMSZ7A2BcrgVR0wemQ== 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 SJ2PR11MB8370.namprd11.prod.outlook.com (2603:10b6:a03:540::20) by CY5PR11MB6391.namprd11.prod.outlook.com (2603:10b6:930:38::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.12; Tue, 23 Jun 2026 16:48:17 +0000 Received: from SJ2PR11MB8370.namprd11.prod.outlook.com ([fe80::b6cf:ce77:3cdf:7cc]) by SJ2PR11MB8370.namprd11.prod.outlook.com ([fe80::b6cf:ce77:3cdf:7cc%5]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026 16:48:17 +0000 Message-ID: <1308bfd9-e2e8-4dc5-9847-fbb99f177477@intel.com> Date: Tue, 23 Jun 2026 09:48:14 -0700 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 6/6] x86/resctrl: Add support for L3 occupancy monitoring via RMID MMIO read To: "Chen, Yu C" CC: , , , , , , , , , , , , References: <21beef1acbba4bc7bbc6e54dc11868116638d5b5.1781332698.git.yu.c.chen@intel.com> <04f67dbd-43ed-4863-a51f-cf75e9a02e55@intel.com> <166a4a2e-e2de-46ed-a854-d81d4f7a197c@intel.com> From: Reinette Chatre Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MW4PR04CA0184.namprd04.prod.outlook.com (2603:10b6:303:86::9) To SJ2PR11MB8370.namprd11.prod.outlook.com (2603:10b6:a03:540::20) 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: SJ2PR11MB8370:EE_|CY5PR11MB6391:EE_ X-MS-Office365-Filtering-Correlation-Id: f12b5005-6466-4ba0-6112-08ded1473988 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|366016|376014|7416014|23010399003|1800799024|56012099006|3023799007|11063799006|6133799003|4143699003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: YI7zLd8Xm3NhhzWnutDPTVsTOqtS9KMCWl5bcIeeiZaOrnrugQP7Ux5e1/rjudZaU2pqUJz81q8Y+YEOzI/duRBkte5EX24xoAEqSOa++OzSgDvNYCPR6m4kMSnef01xQAKv/6XwHyiCAP8kE0nd6WJqC7XI6XEISbVexIlA59YrweuxsbfkKr28C5IpkhyhRp3Fz1tDyCeUFwSd4eeg7ZamSxN4FOfbN2Ac0j6U3wFLcb5cFP94zR8zNtm1lanxR0eF24Vc0iUwbqzI9AkQUVNy3YLYptk1YRACHm52wOSTnJ5yRLhq3qr+Ou/iVoZzH+xbUl4FHVUIRlEZtDrpmUgtbXUSiVSEKsNSbhx8OB5R7CXKUMIAzCtxqfzRdU+K818ms1IiXmYgJotT/SoYift+psDW/cpYzHi24irOlmFxYtkJBz48lh+Gyx9RuhgB+x1co5yJVta3eKily1J/uAVkKtEJtimXJDd5PhMRFrDbN8EvozpmjG4mWaEv5SJNAghBhP78q6BhO0+AFY1oRX8QQ4XA/AU1VRdpRv9yKCGxi3dJmx26yuBq1ZLzdd1Yzp+pVjXrVl3SrQ+Eo3/Dx4If1D5JGhtE9joVaah9lP0HCArd2mY4sQok7gNlHcHtu6R38E3b0juobWM1sft4rT3ht+4R54p3TzZyzuqD2Ic= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ2PR11MB8370.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(23010399003)(1800799024)(56012099006)(3023799007)(11063799006)(6133799003)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SVhwejg2MnJRWVU4cTMxcjBoYklMK1kySHIzeEcydjZZTzNvZFkzUGdWU1RI?= =?utf-8?B?ZitXNDRIbjdadlNNME8yVlc1LzJMM05hNnZHdVlaaElIUXdaWDlsYS8yUGtm?= =?utf-8?B?VVM1NVY1cWd3VVBlcGZodjgyVHg2QXRIOTJnN0lyTzZNbHZKbC9rblVXZFM4?= =?utf-8?B?ZWQ3R0tDS1JQOFRuK2Z2NUtVSWxxVzFFaldwU2Rkd0wyKzZBT3REYnFQZG9J?= =?utf-8?B?KzAxZ0R0ODBBVlcwWUJ4a0RIY3NGd0tFeElNT3FxbDBieUE2THFzZnF6Sm5z?= =?utf-8?B?ODNURWt1L0FhWXEwckNTTys5M1lXeUtTYzVKcnVpZ0xKaUlGcVNJdXduTnN5?= =?utf-8?B?SUR2ajZ3aDVNQkhySDhVT3RIdlQxdWxTUERwOTFBQXViQmk5LzJncFRUaHgz?= =?utf-8?B?ZEVYa3F3ajFxMGQ0SlA5Q3hlYnArOHMxeEpUVndBMDYxTndUSHoyZHk3dVFt?= =?utf-8?B?a1p6MmRmQ3dBY3NqS2FMM1ZnTXM1cmhyL0MvM25kMlBNMUFJcUpjVm1QeEsy?= =?utf-8?B?byt0SHlnSUQyNnJqZ1lqWXN1WDlDTkk5bldkQnZzRS9BZlNETHRkT2UyOS8z?= =?utf-8?B?cW1DNCtPTW9lQXRCL3Mvamt2aG1OWnFpaEFOeGtwbUpwRUtRM1ZEYWJGK0Fs?= =?utf-8?B?cGlhVlBCZStIcENZWkNGUXpDS2EzaEtsWGJJaHR6dGo2ZnpVb3J3bUVaUHlm?= =?utf-8?B?NVpCOTZvUnZMMnIyUWFKbHlyT2l2Z1R1T0llNjBGQjRsTTd4OXpCZ1R5ZGcw?= =?utf-8?B?Q0ZUL0xwQ0hRVm9YN1pVR2o5bDVQZ2pWeUVqWE5ybDRuNTF5Z3IzbE9aaWMv?= =?utf-8?B?Z2ZkaGZzWk9BY1c1aHlWUkxYZUZMc05lMFhsREo2ZFp2am44UlQ2enVSVU9F?= =?utf-8?B?MUpVMGZXaFFmUkpMeDhKVDY0RWZFd0pWQXh6aTJmK0FvS0N5SVJCQTR2YU8v?= =?utf-8?B?OVk1TkFKSkI3YW04d0hDaDdBUG1ITDdIYmtLa2hpTEszV01veTAwRy95RTVU?= =?utf-8?B?dXJUeTYzN2tOLzByaGhQbUxtZksrbi9ydGV2L3pDT2N6b1ltMUhwTXRHdHRm?= =?utf-8?B?VUtQTDNxekQycGhrU2VsMExyb3JmQk4rNmNEN0Vublp2RVA1M2kwU3lpYS9F?= =?utf-8?B?LzdDcGkxQ2F0ZXlDalJoa1hxWHp5ekYzYUcxdkNNdWtFUHBId2NQdEFkOFpv?= =?utf-8?B?NGxxSUVURXFTb2dkQmN6QzFhUUFRK1d3L3dXUWhLVjM4YUVjVzlha0FGbTEz?= =?utf-8?B?Q3JxTG1yaFN3ZEFmOFQwbkRaUWVQVkFDUjJKRG1jVDd6SkN2cXhFdlpRcFlp?= =?utf-8?B?WGdzWW1sOGk4QzVkMnl2cUcva0lnYUpLV2RWUWN6b2hYdHp3S21UMzBiRlhr?= =?utf-8?B?V3gyOHJCQWNDcmdCTFVodlR1ZUVtUnVLNkNuQ3pyeW9obHJQMm91QUFjN295?= =?utf-8?B?dWxBc3hJUWhkUE9ndWd3c2pQckJFT1Y4d3ZPbC9EZ2ZSdFBoT2N1Mm81bUZu?= =?utf-8?B?Z1pCS1pYektYdnUvQWlqaXJWc3VEdTBLbkh6ckQ4Yko4aU9CZElRaTU4bXZq?= =?utf-8?B?OXJSSXIvdU02ZXJMRDZXekk0TTlBc3ZVclRrVFpWSDVURm5LbVJYcUFLQ1d2?= =?utf-8?B?dkpXakp3elVqTk1rYW16RTJVdFRZRGJEYUhOZG9nOXRVait1VWU2RCsxZTN4?= =?utf-8?B?UzZxYm5WbmNBS09YVjdBWnRsZWxJQnFmb0oxTjJISEdvYTdVQ3lYU0pIb3g1?= =?utf-8?B?MDZSUDNxRFJ3czhmcmNoWUpUdTlZeGRFeEdxeWFnSXFYQnhmU1U4d2d2aVI1?= =?utf-8?B?NytUdjBWcFdmNWpuTmZJM1BYd0R2b2VJSE9zK0FUdis4Ym1QSTBxckRTWlVr?= =?utf-8?B?MVllaUw2c3dldTZYVGF4ZlpwNEdCUmlMeGdpbDBobjBtTkVuY3F3QnJPUFcx?= =?utf-8?B?eWpWbEJuZnBzR2NOcDZiZ2p1MUhodU9hR1QvNWMxQWsraFNjb1BCalA0aUxI?= =?utf-8?B?dHc5cjVBYUFhQzg4WUw1VVk2RDljTGJvK1NjbUpnZ1ZxbUd1aFFsdWtFdTU5?= =?utf-8?B?WCs1TnlURURyc3Q0a09DdERqMUg0QTJEOXFINmZBZXQyZi9Cbk5hK2R6NzBQ?= =?utf-8?B?MXorc0RHRXBUZVhOeU52RHcxTEZSUmtBa3ZYekdNMitWWk0zSXludHhpU0hq?= =?utf-8?B?UmloMFYrbHBYTStIRTZhRlljMXJwaXdWaCtLU3VxMGZqdHI0QVVKWTVYOGlw?= =?utf-8?B?K0xSTTFVVlo5bnFuWS94M2o1K2JIQ05ldjUxZXVsSHgweVI2QU05RTFzSkZv?= =?utf-8?B?NnU2aERYUWVsZHNnS0NMYlJoaG1ReWFlM2lMSkJuOXdFaUNFTytqaTdRcUJh?= =?utf-8?Q?gXrOAFbCMqUNIu9o=3D?= X-Exchange-RoutingPolicyChecked: j0bcFMHKLx6z/ygj1yt69dtMFDw1NtHE0DQ4L0KqfgH8UdwGckxg2J8WrAX0uh8v5mCLYk+KrZ5nKuO5Gmm8bYIpohRRcq2kiRQLFsQ2M1ZHEKQgvs56qTHKIrTaO0PcdKquQtEqIlJkv+y9p7nXN+8Khc5o2ueVYo0PGxHXCY/M6Z0Iewm4AlSSGiltd5UmN+ZycDH7IraP165KOxWd+hH+syQeIaj/PeVaWg3Gk8tYITvvFT2Dd+f7fWJd81tv/X7mtppKmIx8w0eCRt+pBuQy66reVI9uWR8ZAqP+ngQQidCdfQw4T9cg8TvkcRL5r0n1CLXuE//s67JsE/bauA== X-MS-Exchange-CrossTenant-Network-Message-Id: f12b5005-6466-4ba0-6112-08ded1473988 X-MS-Exchange-CrossTenant-AuthSource: SJ2PR11MB8370.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 16:48:17.3739 (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: b+w+rIuXVAPxBnftykgi8xpgknOOQtsVYZZ+/skvBggVqNtrsobIXWbrMMl0+p7vVvyX2Xhj+DZrvDzEisesz5LAY2fhDlqAnd/8BU52VqA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6391 X-OriginatorOrg: intel.com Hi Chenyu, On 6/22/26 10:00 PM, Chen, Yu C wrote: > Hi Reinette, > > On 6/23/2026 5:30 AM, Reinette Chatre wrote: >> Hi Chenyu, >>>>> 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. >> >> I believe the issue is larger than just the RMID enumeration. The CPUID and ACPI enumeration >> appears to be fully intertwined. Taking a closer look at what above code does: >> it checks *CPUID* whether CMT is enabled and then enables the LLC occupancy event to blindly use >> MMIO if ERDT is enabled, irrespective of whether the ERDT tables include a cache monitoring table >> or not. How is it guaranteed that if ERDT is enabled that there is a cache monitoring table? >> Should it not be the existence of the ACPI cache monitoring table and its properties that >> determines whether the LLC occupancy counter using MMIO registers should be enabled? >> > > I see. How about replacing erdt_enabled() with fine-grained helper functions such as > erdt_has_cmrc(), erdt_has_mmrc(), and erdt_has_marc()? The latter two will be added > later for region-aware MBM/MBA. CMRC, MMRC and MARC are not guaranteed to coexist, > so splitting them into separate helpers would offer finer control. I am concerned where this is headed since it looks to me as though the plan is to sprinkle these finer grained checks throughout resctrl. To me this sounds complicated and error prone. Consider that resctrl_enable_mon_event() has an arch_priv parameter. To me this seems to be the appropriate place for the architecture to give itself the needed information about how to read the event. Reinette