From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (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 02C2E32BF44 for ; Thu, 25 Jun 2026 14:33:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.11 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782398028; cv=fail; b=ooUImfZgotGJgCBXBBPPHni2GXhpYNe960amMpL5wF+rN0e/JsW8dYwQyjnMxtTHeJbPj22bLM2kscgM14rwv3PMpT4odOgwIg5e1Jlx5LAO4rTLqq1WV10QfOXaklmXqFxks2bvWfgGgoRSWGJ0tjb6EScfoAPmsBQGSYI403Y= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782398028; c=relaxed/simple; bh=pvhDV0SCDRtJEMSo9WxbNsSYwkKnvdzMeVIwLTqtvPg=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=Auw7Jp4Y7OX3BZYFK4W8PyjK14f2vt1kW5doRAMlLGHY9Iyy/3D4m1/euNL1hPrg1eLsXsM7CWbpALNCiigX5b39/JEJPD5uCf4QFGnyHPdWEcXQfkZayIx1+3+vLEsS1NHeiOYWp0qo8jkWpfqRhKD9/OX9+Y8miVayg2hoK8U= 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=bOqvc+F6; arc=fail smtp.client-ip=198.175.65.11 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="bOqvc+F6" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1782398027; x=1813934027; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=pvhDV0SCDRtJEMSo9WxbNsSYwkKnvdzMeVIwLTqtvPg=; b=bOqvc+F6UX9digGV1x6WEGep3IcGfQLt9SjP8OS7CuMHLAZ3EDR7olGT I06nN52Dh8SY/kaWqwL2Hj2QBrRGlH8RUM34nEJeKDGlkbZ98r5LrAcF5 wwTRm+sXBTBw2krAXf/IGDk2w7GWWdrLj6cxI4nNHwSHvzAMLzfpDn1DN X0TCU7XDHbc/+qDtw/14iRGgLbE84RZ1ZRoNEeRxfbBIYBxfjt2hy1MED cC4jcN7DBjWs0ud2GUH+CTjcmdNKg1EB5lV88D4F8GDLSuw2sDsZ7z8GY fTxtGiPzpck78vKQ0CV3sE4BbAfDEQhXcQy3fXYoK914s+DApbx4eXmBm w==; X-CSE-ConnectionGUID: wUBFBbNLR3qal2ZpJMS77A== X-CSE-MsgGUID: caofAXOyTJS9dy7MSqTXUA== X-IronPort-AV: E=McAfee;i="6800,10657,11827"; a="93531752" X-IronPort-AV: E=Sophos;i="6.24,224,1774335600"; d="scan'208";a="93531752" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2026 07:33:46 -0700 X-CSE-ConnectionGUID: ToWiqpDyTu+CW9KoHKlgYA== X-CSE-MsgGUID: kCv2aVNuSmm+UFANDvhcYw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.24,224,1774335600"; d="scan'208";a="254446310" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by orviesa003.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2026 07:33:47 -0700 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Thu, 25 Jun 2026 07:33:46 -0700 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) 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 via Frontend Transport; Thu, 25 Jun 2026 07:33:46 -0700 Received: from DM1PR04CU001.outbound.protection.outlook.com (52.101.61.38) by edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Thu, 25 Jun 2026 07:33:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LyFyhwIUuP2q9UCWTpeoxzpedPEg+YuW5zArzw1dReHdijovN2YdKyWT365z44dK4ROKPwk9pl/jGYCTOOSWooM8/KF8Nn/YHP3ieqabI8WuKOpFo0ybT6O2rIuWfGhj8ioHc5PELZOXisMFAnc+kOpzoUhdolq2ZqnLkqPDvkjsV/USPnnx9fovbubgnGmmfkFSzEmf8yFlLrSr/JL9SoCO07KOHksVuxJchfjrEyhweKoxcwblrJ+cvS4UTdqMAiATyZ85DzZVprmD+n9bCXvQV1eimmousz27tEzmaoKPP/Zznq+znkBuMOiBdykmBEfch7/D7B6GgQeinSHVxg== 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=zRoXXYxcd1qJ6H55eFn+bsTBsKaHrA2LZZFZytun1IE=; b=Jpu9GY1YkUTlKDp6tvFxOrH9RLpOtNGO8/RqJnNL42qt2Zbv7903OsjOOhev/pqAyx4Cy8oiBsfcQjEjAgKZ3UP7FpkZb/qvmd7hGovAguOl2t+WjRikuFdziYs9xWCMJI8oQd+JSKZvLYrdDlhd3E+QJd07M5FByPTTanZZszfvaM0IxpWJHbszYJKJvZ1Ezdtgoqic18iA7Oe47QXIdnQTteJSuibD3nSyyf6pCQlRUyO4LdZLnf8AAFzRwi3BKIe6YdRcGjOmzPFcxGu3/qdgNjHPcrjZErlzkoAKc2Y53CSr9XPXNa7sQbUpDWOBw/SHlX2qLxcEVJM9Xt6c/Q== 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 DM6PR11MB4641.namprd11.prod.outlook.com (2603:10b6:5:2a9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.13; Thu, 25 Jun 2026 14:33:35 +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.0159.016; Thu, 25 Jun 2026 14:33:34 +0000 Message-ID: <040bb2fd-b8e3-47a9-b560-7d57ed6768cc@intel.com> Date: Thu, 25 Jun 2026 22:33:24 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 1/6] x86/resctrl: Parse ACPI ERDT table and map RMDD domains by L3 cache ID To: Reinette Chatre CC: , , , , , , , , , , , , , References: <807a91c2b6235f85e2d19d4293c17e53a8cc69b2.1781332698.git.yu.c.chen@intel.com> <288153df-307a-40e3-96e1-ff4ae8f6bc5a@intel.com> <2835922f-d2b7-45dc-92e3-c6aed4e79fe9@intel.com> <4b48ec4d-517d-44d0-8be0-7e24d0970b7b@intel.com> <1c671ba2-501d-4b31-bd33-9cb23b54db01@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: 7bit X-ClientProxiedBy: SI3PR03CA0009.apcprd03.prod.outlook.com (2603:1096:4:297::17) 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_|DM6PR11MB4641:EE_ X-MS-Office365-Filtering-Correlation-Id: e5df86de-c616-4d8b-72ff-08ded2c6bcc0 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|1800799024|23010399003|366016|7416014|376014|18002099003|22082099003|56012099006|6133799003|11063799006|4143699003; X-Microsoft-Antispam-Message-Info: DRnDMPoA/jDE+mWwWRK4vElJfCsY3SsXpiTqG1PvMmiXfXJ0pV0r/BkBB7V15Bc+fY1DyfLAOKGaimCpLOX9yJ8PsbTPz7dj2nZ7Yv1NOJPzhDn3l7gBi4wynGxPtOL8ocLswjLZDiyN6RBBCWDQ0F2Pkv3dEvajQG2CqCzsn/3bya25kArM+seMJRX7G4zVA+MMUbUi5GkwJWEXQ1PFTkAiNiXD6d2X0AaRqiYNMsfHr8aPWtSsQpnw+jc44uXJ8hDHJtXnPzSsq2rS0p4Wnab70kwodo97tJZ9crqRsLKvoc3r8wqD+IDtEfvvtLY/4jROBWVOBdB9gEdE8RDOGxCO0jCIuiEYIHxNspVn01pOzmW+I540PQ2fCZsco0UqTYoiPMnJ+gm0YN/3UDAZbBYNU+GnptX2vVOrUoZocnJavHRxJWPc133QiXkFKWt02faDWEvzTyxRsdPtK652p8NSHgrZ+rw2Qpvv3MSWqt95e2qKZr0A8xS2BAUPzLbdltWd7FT72Im+pMz0Y6DmZktNraJOleFgdTWKSrI4pxLIY6Ov+41v8TD1Pz6cU0dsrunVo+HZJ62xvWtZLiuuDbFTm8BBKEigTyJM8OP+kWWSrF5dS3BvwG+4rP/NfVVZwVYsNs50JrSheYdmYNe3YMIJj/FPYeZleP2CKoTBik8= 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)(1800799024)(23010399003)(366016)(7416014)(376014)(18002099003)(22082099003)(56012099006)(6133799003)(11063799006)(4143699003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bWp2NVNoTTBQcGlRYXJOZk01cXhIZnRFL2hRSk1MUXMzMFQ5MEcvTDNKNTZw?= =?utf-8?B?L3ptR3htTEJtNEFlc01kRGUreXdCV0d4MVFUU0tkYTJSZ1E1R3krZDljOE14?= =?utf-8?B?NDdyQXUxY3ZjUFhMckxNazh4Skhwd21mSS8zZnBhdU5Tc3Y0ZVhNOUdxeGRB?= =?utf-8?B?YzM2UGxHTXBTdVcyeG1GOThTem0ycDNvcnNmdXdhQU16VHJjYlFxTE5MTEly?= =?utf-8?B?VjNZKzkzZU5FbHhrT0ZmcmkxanJPRnhMSS9SSCtVMTJHaFZFbDNPOHpxOFdz?= =?utf-8?B?c2UxU3RwNTl0Ymc3anpQL2RKWWRYT1dBRlhIelZwRUFWWmhQcG41OGdpZXd4?= =?utf-8?B?YW93Q2RJU2dCSHltWEZOUGRZc0dOcDhmREMyRGVOTEhvRHpvTkoyWlN0QkRL?= =?utf-8?B?dmkvcjd1Y2pFQXRvOW5WRGd6eWNCZWpDRFVYSlR0dEJyWWNpY2M4bWc0NExK?= =?utf-8?B?RjQyZElxZXJBQlBpeWlXeHowbWlsYTk3TU1FSkVGV2xHYW1Ia1diQ1VuaFZQ?= =?utf-8?B?djBSZ28rTUVHTEpoTSt4Mm01QWJubjF2T1hkdTZTOUZyWncxWmVtU1hmSCtq?= =?utf-8?B?SElDV3VPKzFhMTJEOVVIVWZCL29nVUZXc3FhaUdSMDE3eG1jQTBRMzJURTBC?= =?utf-8?B?VWFPZ0o2OUtLYXdpZk42MW0vOEs1T1pPWkozdmdOZ0xTNzdBY0hYRXVPbmN0?= =?utf-8?B?ckhsMDhnTWxUR2RMN2pPODczWGtlNEhDbWE5VEZ4WndkV3loRzU3NTJ0Uzlt?= =?utf-8?B?RGl1a29MM2g1OHUyWUpaQjFYYWRwTDhtdEZjSnFMYVQ4bUlmcmZmR3l1WGty?= =?utf-8?B?bjY1cmp4NjNVb3BYMUo1ZnQvcUdIeTlqVjhqVGZRYThkSHpzOUFkNnZsRDY5?= =?utf-8?B?bUZRWUdRQ2g0aEpSVE5XbmNnY2JZK1E0UzUwY3pXSHFlYmF2NW9JeUFncmxC?= =?utf-8?B?ZnpQNVhXWkFQWHhwWkNSVVhSNDdvbjg0Qm9tM3RtY2JIQkdjdVV3SzBsa2E5?= =?utf-8?B?UHNSazd1NGNCQXJXZDAzR0M3Mk5tcEE5YVB0TUo0K2hvUFBadWF1VlNVTERS?= =?utf-8?B?ZUNnZzNmb2UvZUlFZGdpY0V1bFlWWlorSjFwbHlrSitwVDdHWHFXb2VDOWlv?= =?utf-8?B?MUVJTVhFOWtxbHBzMGJlb0pueEc0cUZ2MVdhQWkrK2RGWXU5ZG1IbDVBaGt6?= =?utf-8?B?NzFScURmQU1jbW5WaWNoQXRNVkl3ZGRLZkF1MkhGaWZTY1dDMFBBY0NVR0xy?= =?utf-8?B?NCtrV0IwOXVLdHhIeVBocW5sd0o4R2sxN1hMRUpmbGJZQW1lUlZ4eVdSajVl?= =?utf-8?B?dXhxd0xvc2JQNEhwaVUzbFJBL282YXAzdzNVVDZlUWUyVWRJaDBBeWp6empM?= =?utf-8?B?Zmc0UzEzWEY0ekgrNlQ4Mmt4VmxKUENoRVZpNzlqYkcveHpYYjFJMGgwQW5j?= =?utf-8?B?WCtyMXFPcGRFcnM2WkVPaWVNcHZMWmcxL0VhRzQzQTNUZWgxQVgvNXJ4V0Vu?= =?utf-8?B?V3RKMUgzemtRcU1JcEpDOVp3anVjMDN2UmM4VjYxZXRhQlpnTkYwV3BkanQr?= =?utf-8?B?VjI5L0lRVUVRY1o1dkJZL3kyWFozVWNzeDhkT3M1UjJYQzVpczdSQmlzY1Jh?= =?utf-8?B?RG1sMEplbWNxWDB1c0kzMXk1c1FEYUFDc2pNT3JPMHFtK1NUNDZIelNrWUgz?= =?utf-8?B?OHRyelpCK0lXTXJYdHJqWm5RRDdYc25zS0VpUjIxOWVaaW8xdmZoNDVMSXNy?= =?utf-8?B?d05uNTltYTRnQkJsWVBPTFhOMThSRXoxc1MzcG85ZjhwSGNwdUV6MmJzUUdS?= =?utf-8?B?OExFbEJ3cVl2aUF5SklzNXJvYkRYTEU3cmNLY2tQV3FnRVpBUFVEcFp6d0ty?= =?utf-8?B?UTY5SWl1OXN4WWIwUHlCK3R3bmxibUhoTjNPb3RjR1hWQ240blVObVBGMlMw?= =?utf-8?B?bXY2SjIrOUN6Wm5JOFNwOVYvMWduWWlWQlVpREJBMTNCY052WEdjdGlQZTlu?= =?utf-8?B?bmJRVG54MmFLOEdPOCs4SGlBbGRnajJaYzNJVTM1MW10bkRhQzFBSlNLbkpJ?= =?utf-8?B?RExCM3RNRExwdS8zazdEL3c4QnNFNTkrS29WUDI4b0ZXaHNXOWhXUEZUdVFC?= =?utf-8?B?cEVDMDE2WG14eHhNUUlPdGFaK2laWjJ6NUdtM002ZHRLRjNOeUl6N0ZMMC8x?= =?utf-8?B?cHpWb0VSTzhaYkg4UWNsT2dLdzliV2U4OEFJdk5kN1pXdEpsd0RpY0Y0cnpG?= =?utf-8?B?cmZsN1hWTHlMQXZIazFZL3NUd0pFT29pbC90QkdWeXF1M1pUSHRPblJHZHh0?= =?utf-8?B?eTVjVHpWNnRPVDViU3JhVEZFVlY3RGUvWURUbm9lbEFid1dqclVyUT09?= X-Exchange-RoutingPolicyChecked: dnNk0dOo3ehYX5emagWjT0/HOJeWJabsY7++lruAkOCPoFWC5CpEKrAeBIM9KnsuEys+xT9vtZZxeqEPk51vbVL1Gf8l/koM+Hy0AeqycmdDXib2eYKf0kJkT7h7PV2Rxz0lu/04xUhvN+KLgWEQYfzLi/wTbbjPPolVNQYXp+Pj1Q1LkqRu4UhwmsPJUK1Nx5TvUHEuu7Uh2PKm+aiu7Wvv9eRTjnq1GdPoDEb4OH/EF3Wz8uDcRl+vam3SI730tnEqE5l0D+ah67f7JhhHwc4of9VJTpDbErmI1uNF2TYhLwLn2ivIahFB9Epif4F8l4MZGrYxFMVDUFvPi/iMuA== X-MS-Exchange-CrossTenant-Network-Message-Id: e5df86de-c616-4d8b-72ff-08ded2c6bcc0 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2026 14:33:34.7896 (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: V23S03GsP7n+FGEwiO+iNUAM2ipps1yWYtL3QmxBew35XzOZkacDpNH2fzK8sfuLbTd9B29sIaxoEjDWe3RZJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4641 X-OriginatorOrg: intel.com Hi Reinette, On 6/25/2026 7:44 AM, Reinette Chatre wrote: > Hi Chenyu, > On 6/23/26 9:05 PM, Chen, Yu C wrote: >> 1. At ACPI parse time , record the full CPU mask from CACD for each >> RMDD domain without checking online state or resolving L3 cache IDs. > > ack. > >> Store a per-CPU pointer (erdt_cpu_domain[cpu]) for O(1) lookup. > > Why is such optimization needed? From what I can tell this pointer is > only accessed *once*. I do not think onlining a CPU is a hot path? > Could this be simplified to just be a list of ERDT domains? > Yes, we could store it in a linked list for later use, provided we add a pointer in rdt_hw_l3_mon_domain to reference it. >> 2. At CPU online time (resctrl_arch_online_cpu), validate that the CPU's >> CPUID-derived L3 ID is consistent with other CPUs in the same RMDD: >> - First online CPU in an RMDD establishes the L3 ID for that domain >> and inserts the domain into erdt_domain_xa keyed by L3 cache ID. >> - Subsequent CPUs must match. On mismatch, the CPU is refused from resctrl. > > Considering that this now establishes 1:1 between RMDD and resctrl domain and that > resctrl already maintains a list of domains, could the x86 arch specific monitoring > domain (struct rdt_hw_l3_mon_domain) perhaps just point to the ERDT monitoring data > for that domain instead of maintaining a separate array of domains? So, when x86 is > requested to read monitoring data for a domain there would be no need to query an > array for the ERDT domain info since the containing structure already has a pointer > to it. > > This may need more care to organize the ERDT per-domain monitoring data structure when > considering the references to upcoming additions that are not clear to me at this time. > I see. We could add a void *priv pointer to struct rdt_hw_l3_mon_domain. During l3_mon_domain_setup(), we can assign this pointer to the corresponding erdt_domain_info object from the previously created list. Since each rdt_hw_l3_mon_domain instance is freed when the last CPU in its domain goes offline, we need to keep the global list of struct erdt_domain_info objects persistent at all times. Going forward, we may also need to add the same pointer assignment to rdt_hw_ctrl_domain for the upcoming region-aware MBA changes. >> >> 3. erdt_mon_read() looks up erdt_domain_xa by hdr->id (L3 cache ID) as before, >> but the xarray is now populated lazily at CPU online time. > > I do not see the need for an xarray. As new domains are created during CPU online their > initialization can just point to the needed data, no? > If we add the struct erdt_domain_info pointer to rdt_hw_l3_mon_domain, then there is no need to maintain the xarray. thanks, Chenyu