From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (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 8E7EA4446FC for ; Tue, 14 Jul 2026 16:28:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.8 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784046493; cv=fail; b=QESZDi9QXexVuEWtUvBnN88DihzE/Yv9oArDnvqdAfpLFm3VcQXwNPHnf9FT0irJGk04c1Bl/V2ObKAkTZ7+ihpQixIiZbtFUoadzxoMKp9pClHXPb7YcOhq9op8N928ylaP/r5qv6v7LrNV5acX1pk4a/dEBcKiR5xqGonudOQ= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784046493; c=relaxed/simple; bh=Myy4LOkvUJtc+Ywv/Ps6QZ2K/HOFID4D2OjOOP1swJU=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=hLiZ7m8QqpUDHRmF/0Q2YjxAqF3AS/bYsUBz5a0Dv4nkSTQnJBNv8uJXb/VrFWz00EySKzdL6ON/4h8ZA5mS7ZJXF5vdqt7W7XkYAJhzE5LfFptTXP4oOFsP1lrexrDfeCvFRBllWkepsa1mqkSGMUlrUwyhAYvi4+aC+odhplE= 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=YUhUIPTZ; arc=fail smtp.client-ip=192.198.163.8 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="YUhUIPTZ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1784046491; x=1815582491; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=Myy4LOkvUJtc+Ywv/Ps6QZ2K/HOFID4D2OjOOP1swJU=; b=YUhUIPTZQW3eVtqSDgFpVSKOG99tfvn9MQnCNu/ViqEtg+Bo1OwqAgHl 4HS8CFQEvxR46yIeBcURbyRvolBLF98acmSU/OHkhQTfYLlUmJkiGvM04 3J+PkSPEziU/k75xx92cduTcpXOPOZ0+oOPdfUeMZDpIDwU4AzHfSIbs7 HvdycDr6PNGjNnHJqmZBN3GboPHtDe7CfzTsCveTpjF1Ka9+8ibVby+rC lVm8f4dy9Ng0Dmc3WCIrWZFIQ0KtbUGM9WdlqP2TxDQRoTuIX2xBhArS6 U5J++7otvX9LHKmEY4JaLYS4zcRtvI3BZIdzzMsAZAqJ6XqVecBI47SlM w==; X-CSE-ConnectionGUID: cp/ovHEmQkCmoadoyWXjdA== X-CSE-MsgGUID: EeiCiwGoSRe9So/r46lchA== X-IronPort-AV: E=McAfee;i="6800,10657,11846"; a="102227821" X-IronPort-AV: E=Sophos;i="6.25,164,1779174000"; d="scan'208";a="102227821" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2026 09:28:10 -0700 X-CSE-ConnectionGUID: HLQyNU2SQVCGC4/+iOw73Q== X-CSE-MsgGUID: lEg3vBWvS0i62Y1O7VFr+w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,164,1779174000"; d="scan'208";a="294116318" Received: from fmsmsx902.amr.corp.intel.com ([10.18.126.91]) by orviesa001.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2026 09:28:10 -0700 Received: from FMSMSX903.amr.corp.intel.com (10.18.126.92) by fmsmsx902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Tue, 14 Jul 2026 09:28:08 -0700 Received: from fmsedg901.ED.cps.intel.com (10.1.192.143) by FMSMSX903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43 via Frontend Transport; Tue, 14 Jul 2026 09:28:08 -0700 Received: from CH5PR02CU005.outbound.protection.outlook.com (40.107.200.55) 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.43; Tue, 14 Jul 2026 09:28:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SNS7HgAbfdVYouVKzXbuFRsKcw8UAIJeATIRYBnnZ6dmZXnvQqt4ugmOcLp7luN35kmZoHVCXI4/j/V28xF6KC9evU/HNOX4YoKJ9uxZf94n8c2DHJ5vcoP9sK4EJr9HspoZtGpc+HooHDyCTNpD/vFDmaHuDkjUMK9rQodVlm682NViIfPz6tPJ1dkATL7kZjkDYG9bxCUIBTDDbmf01snMs9a027y/Qb/NfrjLTcKUK8M3hlvs/lE3KcH3QxJXLXa9eta7zjvKVkoqyg7SYyumsry4KYVWqYndCpTU7twqh6EAI3R2+kCzGBMPGLqyRP6fB5+4Jyin4OAumDOpFQ== 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=yxzRqmO99/dhtjxPwPmShUqk8xa6s6kwWbq1x8SYjuo=; b=QqEqCSj38y9jr7GgeZIfQlOwiy+ge9eTmRp5OVWKi1hRlkX8Lcw8UCVZhi3Pqfw9Zzhd/+QE/aTCJXtVkI0BEZQ2wyhfsg9fDh1X6yFdsYOU6OmEB6Em9YbEb1zr6VUAOlmoUQ/OEI6OJbbPAFu4QUFky5kfesXnfv/I30sErHpMBlE3yHKtunILAT2NpLlHBv6lHxh5ueSSE3qIib4I6gFJkgJXSt7RheGt/m1NDn+0MZLCMNuLPxHZtO6x+TTsH3+16k7UzWsbHwc2ihEFz7aR1dpxsQ/uvveSqigcbs7U+3kDnbjfSUrGfAUSzlegesXXa8hP3cetCF4BvjH0oQ== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 16:28:05 +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.0202.018; Tue, 14 Jul 2026 16:28:05 +0000 Message-ID: Date: Wed, 15 Jul 2026 00:27:53 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 05/10] x86/resctrl: Parse ACPI CMRC table To: Reinette Chatre CC: , , , , , , , , , , , Hongyu Ning , References: <87255829-a70d-4b64-9fd7-9771677d1933@intel.com> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <87255829-a70d-4b64-9fd7-9771677d1933@intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SI2PR02CA0028.apcprd02.prod.outlook.com (2603:1096:4:195::8) 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_|MN0PR11MB6059:EE_ X-MS-Office365-Filtering-Correlation-Id: 58003462-c5db-4470-6118-08dee1c4e109 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|7416014|376014|23010399003|1800799024|56012099006|11063799006|4143699003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: tvr/4RiWcoCsj8T16bDSAPTb+UYO0ogeCqxGRMbe1/PQCjlgF2REO+Vw1X9kB4LyTx0oNTKzZPMy9zzaSCep0lBRUQQoXCb2nkRRA0Fcu/ihrT1SYX3l9FqneEl12WI48mg+cA3v3mWrDFUFeIWRccCoPy/CPsjCPFia6wMau34gYbUNdTnCBAaQh47++YrF/Hd/D3CjV+/nLn0UNXKd7cEacGzyI1Q5ojUYnay1THzF0TGE9o+6ZyPjPkK5uCFmu5LKGo+3L9oVqmDbX/dpdIhqIYJgH2/abBg6johV/9NqcHu0efBg9ZEsCtMQD9S1lwf6UO0jvFS3ZLZCeJQd5gwu8Iz7jehSu0Dayiy+WfAajPYsdGhCItKM0I6rlyC3xU0XgXivtarQX96D4/Z83tRaUhlnmxANxolM1Li+3tAW+5wnGKJroMviytdvJxT86dY/+8ulEau2BV2PbshKCgvHbsNCeP2Ci3g9Xk2PWHGUCbhJEQzyuri1mkxN5mB7aaP0qsOm05WMbmKB7Jj+M9CIv+BU9/ENn2JJgdV2Zg2sjpXMVJqrk17Y/s+TkWDXme4huz+2k79eneQFB0yoM55mB6l+i1QtRJzkg3qLEYk8Pf6VQKeg9j4sntnPQ5qtnuh+pcM5W7qOEaZJSbFB0q2JK+18I4IPzFLwMManlFQ= 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)(366016)(7416014)(376014)(23010399003)(1800799024)(56012099006)(11063799006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ak9QMzBKa2Vad1VCQmNPU3NMQ3Z0Z0Q4ZnNja3JNdytyd05YR0R0RFovczZJ?= =?utf-8?B?NWdmd3Zzb1Axd1lYTlh5K05NY0drWUw1V3VLbmNaZWJDRkdXZzhiV0dpM1o2?= =?utf-8?B?bGVTSVdwOXB3MmNGb3ZRSk5CQTdtQmt2dlFsUTBCRnpmUXVSNnJhVUVrR3Z4?= =?utf-8?B?ZzhKT09LbktXQ0tQSDNuUHpjd3NkMjZITG1LRFpZc3lYMytXbVp6dEh0cmkv?= =?utf-8?B?ZkJzd1NNWUpQT3pnUGZ0LzNhS1l6WEljUFRLeEhYblNzR2o1MzQ2enhYa25m?= =?utf-8?B?ZlVuR3ZpZ3lCdzZVd1lUN0dZNkl6Mk0xVG1kZEYxTGx6YzJrMDFUcmc1d3lN?= =?utf-8?B?YXViMHQzZ3ZNVzNmakJPMnI2YXBEVDFHbndmbU5sYkEvWXNPQ3ltb0lDQTdo?= =?utf-8?B?WTI2ZFRoL0hqUUJVVmxRSDM0K1BNd3RQNGtMd3p4SEhGWmRDWUtrRHdGaGxl?= =?utf-8?B?WHk2U3VDTEVUbWc3MVJRWWJseitJeHJXWnBVVmFTb0J2bWwrNm96cG5JMVBY?= =?utf-8?B?RDV0YWQ4cGhhdWloMERZbm5KYkJzeHBEZEFXNW9GNXFuYkd4eS80UDZsOTZ2?= =?utf-8?B?czEwckJxOGtJcTN3aXl2WTROQWROR1VyckJnTk9NcEZkMG9EeEN5VUxDWCs4?= =?utf-8?B?MkVNSFJUUkhHSzVJSzZJKzBYRFAzSHZjajJ0Q3M5dTl5REh3cEQxS3VadXFk?= =?utf-8?B?REZFZWNzTVZBYXY1Myt5MTNsRGR5OGJ1c3FQTGs3dW13Ni9oeFZQZDhNUVBi?= =?utf-8?B?MkdyRGUwRzkvNDJxVDF6QmhTOXYyZVArTE5rbmhubmxacG94Z0Y3YlhvUnY0?= =?utf-8?B?KzRsTlM2SXJPZlZGTlE4K2QxVGgrOGhWSzhBWmx4dHVXSjVidE52WVg2UTFM?= =?utf-8?B?d1oxWFFJS1ZTdGpPZEI3RHpReWg5R2dXa3hsV3RHcS9CdjhoNFZUWllhNk5w?= =?utf-8?B?NWVSdzhxMDZQcnphdUZEWUd1Y0haSFI2ZUdYcUZCWEFOQWNGdm1OMnh5TE9x?= =?utf-8?B?ZHg4ek4xQUpONXRaWDA4cWNpcFFhVFFhWnNNTFZKODZUeUVSL1pGL0REWHNm?= =?utf-8?B?dDREOUpISUFkQm8rWGZ6cDBJczdBRXdxaThqaitNbjFnRUhQWllCV0lsWGtC?= =?utf-8?B?MGRkMmFrR3Z6NzF1ZzBwdFBhRjUvbDQycERyVUlNS1VwVDJ4RTgvU3MrSDg2?= =?utf-8?B?M1lVWWNCT3VOaGM0RGIrSGI0WEsrVHRVSFJGdWVmR2ZhRzF2NUdDZlN5bkRo?= =?utf-8?B?VG1kMi9YZUhUNmFlZmcrZ2g4ZHZzakh0dW8yM0hkV2lCMDhxZnNjUk45Y2hP?= =?utf-8?B?aTltSUUwdXl4RW9SSzIvWXMxUFVNNS9WdTZDRGVPODBXSG1WNjY3S3Q2WFEr?= =?utf-8?B?RlVpTjJMTDdHSnI3TlJ5azJ4b2hvZmFtR1k2U0NrMTV2VGhxV0J2RUlkdFk2?= =?utf-8?B?SFo3ajkrSDJ0MW5LU3lFUnNHS2FVc0FGSERmNEcvbnFhdzRlVDNsMG5sV0tj?= =?utf-8?B?U09BQ0c4dmNIY2owVzR2SVVrUlBLUkJDMjlQN2NwbE83azBLZEFiN3BaOEtp?= =?utf-8?B?TElnSkIxbWpXTUkxOE1hYUxqZEpNaVJBTWV6MjBtSUJVWmpIWFRhbXhmb1ZK?= =?utf-8?B?aE9JemJwbiswZGdrdmFvT2JaWG9vRUtVVHk5SS96a01Ma2l0VFVmTDM2Mktq?= =?utf-8?B?UW5sTVFad3VhdlRacENIRjJmTm9Jcm0xSEVBVi9hdENIdmQrZm50Zkl6WWRt?= =?utf-8?B?dEM4Z1FKS2lqNVFsVjFHbzhYNngxQ2xCSjVCQ0pmWS9NVFpGM0ZTVzBVZEF0?= =?utf-8?B?T2lGY2JsZUIzQmRrUUo3emRjM2RyWmEyb05IK0hVS250eGZ1QXFFQTlrSmlO?= =?utf-8?B?YTdreVBPRjBQTUgyTkxMbUZhaVl4RWhGbCthYWFSTW1VYmtCUnhUSUI0KzZx?= =?utf-8?B?WWwvR1VOVUhsc3g2aXVPUE1vaC85MlZtUE5GVFZKcUkxdWJxTmxDMFJXM1hZ?= =?utf-8?B?eHZCRlZ2Q1BDWCtoeVdudU9abCtlNFlHQVpuZXR6RzRNWTlWUEx2NjFwZVRn?= =?utf-8?B?RjkxY3BoZ1hwTXVKVjlycXAyc2IrVWlYWlI5U3Mzc0UyQi9ndnAzSU5YbDBG?= =?utf-8?B?ZnRxTlk1RVg4ajVmWmhURWF5d2dZUmI5N0J5NEp6TTZaWldxSW1RVWlrb3pP?= =?utf-8?B?dStxLzBCSjJqRFE4eXBhRG5UbkVkaDIzd044M04vcEszcGtuNWl3TitydGNV?= =?utf-8?B?Zzl3QllTYjJkK0FRdyt0blVxTlpJNEQ5K2R6ZmN1QlR2d0hjalFpaEhzVk1D?= =?utf-8?B?SDZIM2duUFhJNUZUUGIwZ2ZScFBYelZKQzlFbTJEalA2WnVhY3FJQT09?= X-Exchange-RoutingPolicyChecked: TaR13mfCHW5tovZbx4/PVUvSA9dFATKQuqC3TzyesbGKab/+AP2swqSCd5eWqMIGOm/P2QVHiyDVKIznIUrg2lfReHk3QbV3mzZ5e4wMuXZFmTpIKzyOkYmu/Es1mPL0FFktrBYGlcHuDXkMJ/2V3d/DjY79lhwWubYnMz4AWydHlwdHnWrmdWgAsaIo/wXsEsdygg7NhwcXir9y8udpQwsA8v/diw5gy5fhHTHiJQUgxbUS1leqAZCdXwR0rdcQ++RuEN0EwuAWYPa2QydRu9Jj4Cih8CawEPaeziBBRtkrFVuIB3/3mgiomnft3O1drrsi6CgF8TdP4lypv81Mow== X-MS-Exchange-CrossTenant-Network-Message-Id: 58003462-c5db-4470-6118-08dee1c4e109 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 16:28:04.7661 (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: nehgsEqqkSiSPmuDelE3FJDBm29y+/7SFR1NZQHzDPYj9XRpAJYf1kG4wcWxswRCuLep9iyh52MJS75BqQvQfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6059 X-OriginatorOrg: intel.com Hi Reinette, On 7/11/2026 7:46 AM, Reinette Chatre wrote: > Hi Chenyu, > > On 7/1/26 6:46 AM, Chen Yu wrote: >> The CMRC (Cache Monitoring Registers for CPU Agents Description) >> sub-table of ERDT describes the MMIO registers used to read >> cache monitoring counters (e.g. LLC occupancy) for an RMD. > > Please use the entire line length available (please check all changelogs). > Some context for this request: > https://lore.kernel.org/lkml/20250916105447.GCaMlB976WLxHHeNMD@fat_crate.local/ > OK, will use 80 characters per line. >> >> Parse each CMRC sub-table, ioremap its register window, and save >> the CMRC pointer in the corresponding ERDT domain entry so that >> later monitoring code can read the counters via MMIO. > > Is the "save the CMRC pointer ..." referring to how resctrl makes > a copy of the CMRC table? If so, that is very different from > "saving a pointer". > It is a copy of the original table content. Let me adjust this description. [ ... ] >> +static __init int cmrc_init(struct acpi_subtbl_hdr_16 *subtbl, >> + struct erdt_domain_info *domain_info) >> +{ >> + struct acpi_erdt_cmrc *cmrc = (struct acpi_erdt_cmrc *)subtbl; >> + >> + if (subtbl->length < sizeof(*cmrc)) { > > I think it will be helpful if the ERDT parsing code uses consistent patterns. Here, > for example, now that a pointer of accurate type is available via cmrc, can cmrc > be referenced instead to be consistent with cacd_init()? > OK, I will use cmrc->length to keep consistency. >> + >> static inline struct acpi_subtbl_hdr_16 *rmdd_subtbl(struct acpi_erdt_rmdd *rmdd) >> { >> return (void *)rmdd + sizeof(*rmdd); >> @@ -178,6 +215,13 @@ static __init bool parse_rmdd_entry(struct acpi_subtbl_hdr_16 *rmdd_hdr) >> goto cleanup; >> >> subtbl_mask |= BIT(ACPI_ERDT_TYPE_CACD); >> + break; >> + case ACPI_ERDT_TYPE_CMRC: >> + /* TBD: Only 1 CMRR per domain is allowed? */ > > Who are you asking this question to? > The current code supports 1 CMRC per domain. The spec says there are "at least one instance of this structure for each RDT domain" But it is unclear to me how to route to different CMRC. I'll check with the arch team to figure out. thanks, Chenyu