From nobody Sat Feb 7 08:44:44 2026 Received: from CWXP265CU009.outbound.protection.outlook.com (mail-ukwestazon11021129.outbound.protection.outlook.com [52.101.100.129]) (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 A8F5322A4D8 for ; Sun, 25 Jan 2026 17:18:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.100.129 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769361484; cv=fail; b=euLzBoWLNrZMrFKRveC2jTKSGWCMSVCXo+wXDb0s4BlEc3sNW/yCcPL0ppfAoh1qL3o5TM78ugSuiTnJjAdgccOPmpVM1MqKRbXVuUw8fZCoaLx+I6Kdpwx7595pqSy0Grdi8UzzISd7aI0QGb1HIXrAOUEwroQsvwFVdQOlHsA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769361484; c=relaxed/simple; bh=Qb3sljHbLmQB6JNB18TB/1HlXEamg/l3vmVNNdQD3+Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fH/qMLtOCgjA+vQQxvtrI4gDdFQjItdGSjOzXd+DIeFLfehbeqHksfRkQSUqCi+iAr3bGx9wxH/uQWKJa68XNubvs5Y9p3C/G4VIrItpt2by3AxP9ULiWR7Vz76eUSVOkYns7S0nKK56VO/FNiOCK20fD8qHmwgLJLUcAEW1siU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomlin.com; spf=pass smtp.mailfrom=atomlin.com; arc=fail smtp.client-ip=52.101.100.129 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=atomlin.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=It2zTMnQereJGxYqezuL5iRi/efx1ds4V1MR/YwtrDybhhKCH8Rx7aJkFx9Matn7zASRhAZAGReMdytUy/ye9mU7NJ+YY2xfbbvhBvU5klQ8nKJYVwmBoISUc4VkAW5ME/lu1TEt/uuxN6/udvafEVHa7o4pfQu+sknlUV54q2BoT4vB8CrBryICFTUBWR7OnJBDtpJ4kXS9WlRcP7BjLrHei8EpmzqCrls6xk+3Ts7Bfn2vy440D7zn/3P7+Q4OyxWHFDGKkFl6dXlFHjHSUzelL4lt3qwGU0A793eINx4J8mVn+AVVC2g1PyBUeOSZ1tJC9N+VeNrePhf20wVVVQ== 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=OCl+fa5YPIBg7mo/FTJWmlPkQ7vaEmniBKuSrvRreJc=; b=Nuc5Y2Rj4uMf2UIxYCB3T9D4je3KYi+cMeeYgWTwNAqbyPr9atTaDlp911j4jMEeDTHTKWPILzJiFXtl2RacZDdG+bH6dhvP3p0os9r7e3hv3SklDp99431JD/T9FGjvjkRzAqFn2WfzOEjhnhdFnKRMtsDCoVfCfxKZyGYmzm0y2pdGcHHqVXOQVJ11zOZTyWylPdFDFrvWXuhkAsQPsImM3LP29IzyYQOOA0JAQAh6wMl3sa6xgWHM5pfzkKNeV/wzJK8R8guQFvK6GHnqQFbqaqPOoMGF+tKB2Lo5ufK8t+L+ukAaY/xU60fOopeoS4QclxM4UYwn4zKqC7dqSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=atomlin.com; dmarc=pass action=none header.from=atomlin.com; dkim=pass header.d=atomlin.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=atomlin.com; Received: from CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:70::10) by CWLP123MB4100.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:8e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.10; Sun, 25 Jan 2026 17:18:00 +0000 Received: from CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM ([fe80::de8e:2e4f:6c6:f3bf]) by CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM ([fe80::de8e:2e4f:6c6:f3bf%5]) with mapi id 15.20.9542.010; Sun, 25 Jan 2026 17:18:00 +0000 From: Aaron Tomlin To: tony.luck@intel.com, reinette.chatre@intel.com, Dave.Martin@arm.com, james.morse@arm.com, babu.moger@amd.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com Cc: dave.martin@arm.com, sean@ashe.io, neelx@suse.com, mproche@gmail.com, chjohnst@gmail.com, linux-kernel@vger.kernel.org Subject: [v4 PATCH 1/1] x86/resctrl: Add "*" shorthand to set io_alloc CBM for all domains Date: Sun, 25 Jan 2026 12:17:52 -0500 Message-ID: <20260125171752.3374930-2-atomlin@atomlin.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260125171752.3374930-1-atomlin@atomlin.com> References: <20260125171752.3374930-1-atomlin@atomlin.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN9PR03CA0231.namprd03.prod.outlook.com (2603:10b6:408:f8::26) To CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:70::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: CWLP123MB3523:EE_|CWLP123MB4100:EE_ X-MS-Office365-Filtering-Correlation-Id: 11b69ae9-2b25-4060-8397-08de5c35b09a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?9i4+9BAZKOyjQd8+eSA7hKDtEDx3qQCIJPoIIiUt7kPwqBSUXGXM+e4MsVdF?= =?us-ascii?Q?TO9/eQMiqxoYuE7i5CFu36QKY+ExhOITUzq31KKj80cq+ZkFre7FJhNbiage?= =?us-ascii?Q?W7seuq/SEq+LByDpIYFq/PJZp3JpbQkj/l7GXE0xU+Cb3RFfBKbfnASk2Dpd?= =?us-ascii?Q?xl5eL82x9IO+PORN47YKf9uTuwMtgPfwyD5L+TcKRNpYWWHCdHFSsafDnjgn?= =?us-ascii?Q?Fd92Rb1cR3JwUBczHquQur4flEKoSS3v+JbwuKpqVFozHG4pKSTwXU0hWqlN?= =?us-ascii?Q?896qPnyHgzPd5UflJ9rVMBw8loMtkBYfrgvluwXHNQBzDLF56RxtHSsPl6yu?= =?us-ascii?Q?F45Ze/DuWfGKxV3sofxrCkNFe5ArgaAc5s0jcxzGuyZ4P3YSn9c0KQhAP+QC?= =?us-ascii?Q?VYrjDw5yPhvwHSYodrL6NxnQCl+33BY7ixliM+JAmcqt5Jk+lefMKHNFv1x0?= =?us-ascii?Q?/rURQ9wE2Z7Q8DgqujUjz+9v45VtjFWmwFj3PUqyaN/vhE2FTGUIjMKy7xfg?= =?us-ascii?Q?ptkmuIhylTUafaIDn72suoE6hK33nG/A7U8YrbH7PLNK63oDO1hiwb2bzC9g?= =?us-ascii?Q?qNDoA5hM9O2/fAQ0iTPZjru0jWcFp7Kz4/kKxet68nxTfdQEcwjHlP5Ptk+5?= =?us-ascii?Q?kcu18cTHTiynDoMtMhkR7WkTMq5PdWpSzglI2fNvJwK4YSS15rl9wza92cqj?= =?us-ascii?Q?jjiNvy2iBcDFIXDHg2r/7olE077RKa2XdE1RFO+dPVEkBXV0Bc1C+mkBfoNP?= =?us-ascii?Q?RrVNh2RGL9kAJu+7AuLb9lF4uITwqyMCPQKV1olnEBiJauQcFiLQblWdtgYX?= =?us-ascii?Q?PVD93kyfe9mEEtdDZewYU0R7DMl+QwAwQuehplMxvKFpfj6rhh3nq34f+m6R?= =?us-ascii?Q?uM1T/G0q9UOGe3qCIi62I2TMrwBUEwaOpBViYDN1goGDGwkMJneUg7UZ+58N?= =?us-ascii?Q?Mb3gKPKWvNx7oBsDFg2lQD3duRqZ2+43e0TI4iyRGXhyWanntTQ1x600oMBE?= =?us-ascii?Q?uO/Rjwm+EUjehoJRCnlPyiisG32r2tNWHmaemc+gn286nuldmIxJ5cV18/Og?= =?us-ascii?Q?iF43MenCS/wx5lNidO0JF5L6R3scRkfs+8MKo+MzC3hH8hwQO3ZgiwKntVIB?= =?us-ascii?Q?7lq0cs2zMSpFL6Xfzv+55NhRj6W39qPbmDIsoeP9ikeE8E9Tpgly7fuxA2c/?= =?us-ascii?Q?JWpQhJfwOnlmr59clP2P6aalybRQ/isshLp7z6lQdB/+CLczV+sdyCHXb9y6?= =?us-ascii?Q?Ip81O6Ue31zDH5xxtGx2YU6tAWTwucEWDDbnPLGzNxvzaheqlPA+bNmkJrSB?= =?us-ascii?Q?chcF6egW2Fjuu0vLNmpB6QOSjxWU8wDpLfAh8HjflhhvZb1fHPzeSHSAXjZ3?= =?us-ascii?Q?3a9oEr6dee7ovOW7u+r3DVjGoMRDmbLxhCszD7b4zMnna/N1bhloQbnz48pZ?= =?us-ascii?Q?R866RefuljX91kvdeAqmdDzaT/q/as2TxMhewtJ4JNZoiQqBlW+n5nbKdnPH?= =?us-ascii?Q?G8ZWxWUccPeygj/TrTHviO/7FDsKX4VN90/mpd7TqS2R7twpG1zrJTbxPMzE?= =?us-ascii?Q?CyJ2FwDHSGU4DqbmQUE=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fGajg5L5tfDFsMyDvBTMt6u/gRpNlA7+Kr87bA44W7AeebwkbkBTKPvwojln?= =?us-ascii?Q?nRrpvIsn7F7hgyTOgFJsC8q6GGypIHYcKbaW2w2G8QWYbdk0nFb9M8YTu3lH?= =?us-ascii?Q?Q3XU4CN1uHqepGhYn4UVQoC5cliqBp1kI1/LN01hcEkXcZIQ1DJX6gKQKPqn?= =?us-ascii?Q?aauFSBHeBkNtDH8LlcSI+QbdQZmsDEpRvJrHM/8VyvokBgXaEXnYTC8ASkNg?= =?us-ascii?Q?PfglD7dxagw4xSHJ/eOnVbYKubSgQPfGIJbb5G2oV/Ohh4S7a4fmJTfUSDJc?= =?us-ascii?Q?mJtPdKwBi59J8wSzm1YQZjPtAwQYAQ0USiMjzkYClBQXTon8D25byWxdN98Q?= =?us-ascii?Q?iRp+Q1dPBsev1I7lXXmu4kAJ5JHm7eF/POavsK9Y/j2rYbpFevhbNCuRTheZ?= =?us-ascii?Q?s6JPyOkSeDpveQm5u535UAieR1eQzoANhSG/zK/5czPpvaCXA+o4l3fA9aBy?= =?us-ascii?Q?28aO3MPi+8vymtZUMFWDZ2fXPKexlsZwOmU6+6yC3/yK5+9TAOF7Tb/YRNJr?= =?us-ascii?Q?91gGgal16QbhQX8Pp6KogppoVjozzazzxpmnzh6RL15UevIP/ex/zSUjfmpj?= =?us-ascii?Q?cLEtaxpv/C5jaaq3/JVaNKsGaHHDZstGIsvMbW1UYMyiuHfYczNm1Ts2gJRY?= =?us-ascii?Q?A0OK0igLaLz6B/FLyS1vpfcaK6pUSO+XEj2gEtO0OxNEfYei0yWMupKIzTsT?= =?us-ascii?Q?FGRS/ILHttpYdMXPCbvJfALdu7GbYv/EIAdtq5BFrTjnqkRLhZ+cj4Hscb9x?= =?us-ascii?Q?ZIIFaAJQHaiOyMzyJ3oAJiTyJ5tvy2rTBkIM5p+hjCBs8PewUvSu35sf7JNh?= =?us-ascii?Q?VXyDZgQHLU6lGWeX7ehTg2UCl+LJ4Bc6pYd4HsJItAKzmg7WvdHyGUKP6xSV?= =?us-ascii?Q?7sQVEbNUvF2R22tN4m694hBGEtDRF3ht7U84bFzixX9nyAPRWObKxqfoF4rH?= =?us-ascii?Q?xRtQqL517XIYddjpc1SjOjSbnllpd8fHYYi436mRPU1pKS2p3VN+atgnC8z3?= =?us-ascii?Q?A7fQS+rNH/2GDX2AL06ENFl4txJGoNlpYqonu0M8UZBRV9pWesPTYwCfHDgG?= =?us-ascii?Q?/x3H63WhZqk5lqGvfPXkkGgLPAkF6y1nBTiQB2R3/BeLW135UC3kPvy86qlV?= =?us-ascii?Q?UC7rQ2176334JDlu7euedAtY+3tJF4+Et8KoZF7Y3LlDXnuLO85tfOqjeax3?= =?us-ascii?Q?Ghf4RA7h0+zp7IW3gPTwuebG/tSeVIb00Ei+E+r9f0pWVnao5OZix3wusvtE?= =?us-ascii?Q?iM+P5Uki48/XBXxngdjBgy5Duov5WJCAhcTZmG63QadMWnhOzmwr62dTjp5d?= =?us-ascii?Q?DS7hhdFAwRAmhLJtfM5ymYROpNUdQJCjCheDyswCYUJgWD2HvH85awp8477y?= =?us-ascii?Q?Vdaz8VtBhdH2Qx704tjerEU1lgi1QJ0oMcZATRE5vFQ+uE3ifm8mI5GcF4l3?= =?us-ascii?Q?QWezNIA/OfbRzPgh7DlhLQxbTG4x8c3i7xkrS0ujpiOHSLhVGUzLSYK5PGTQ?= =?us-ascii?Q?PyNTM2BdvkN0oarzQSgxP1VVIYz6BTmatX91sHkL7+fIdhx0ufavI96wH8Uw?= =?us-ascii?Q?NfHtw9MeAjJuVsDAXX8Ubf3dWa104iOsfYGAI1f2Oz2/RO1w6sIZpYhhz6Hk?= =?us-ascii?Q?h+zMDICEvAyJPhKqhb3lP6AJkEUxxgE7x0A7gjoB/UxfPixUwaq3fXL2hLK1?= =?us-ascii?Q?321EjBlOOLd6Ub6FaYMDYlSzEnxWV05Wyf7kyVzmdU9/sbyzFf9HeEZVcZPM?= =?us-ascii?Q?HGDowOqtDg=3D=3D?= X-OriginatorOrg: atomlin.com X-MS-Exchange-CrossTenant-Network-Message-Id: 11b69ae9-2b25-4060-8397-08de5c35b09a X-MS-Exchange-CrossTenant-AuthSource: CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2026 17:18:00.0946 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e6a32402-7d7b-4830-9a2b-76945bbbcb57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: T6XnOzWJABzWtQ3yEML/qE7yycHCGGrJK8z9wCMxe/h1zr58wnagmVZY7SqUcBtqBOpezTIF7zN7Ufww1dXR0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP123MB4100 Content-Type: text/plain; charset="utf-8" Introduce a wildcard domain ID selector "*" for the io_alloc_cbm interface. This allows a user to update the Capacity Bitmask (CBM) across all cache domains in a single operation. Currently, configuring io_alloc_cbm requires an explicit ID for each domain, which is cumbersome on systems with high core counts and numerous cache clusters. Supporting a wildcard selector simplifies automation and management tasks. For example, a user can now write "*=3D0" to the io_alloc_cbm file to program every domain to the hardware-defined minimum CBM. Note that the value provided must still adhere to the constraints defined in the resource's min_cbm_bits. Signed-off-by: Aaron Tomlin --- Documentation/filesystems/resctrl.rst | 8 ++++++++ fs/resctrl/ctrlmondata.c | 20 +++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Documentation/filesystems/resctrl.rst b/Documentation/filesyst= ems/resctrl.rst index 8c8ce678148a..734aba0d19fd 100644 --- a/Documentation/filesystems/resctrl.rst +++ b/Documentation/filesystems/resctrl.rst @@ -215,6 +215,14 @@ related to allocation: # cat /sys/fs/resctrl/info/L3/io_alloc_cbm 0=3D00ff;1=3D000f =20 + Set each CBM to a specified value. + + An ID of "*" configures all domains with the provided CBM. + + Example:: + + # echo "*=3D0" > /sys/fs/resctrl/info/L3/io_alloc_cbm + When CDP is enabled "io_alloc_cbm" associated with the CDP_DATA and CDP_= CODE resources may reflect the same values. For example, values read from and written to /sys/fs/resctrl/info/L3DATA/io_alloc_cbm may be reflected by diff --git a/fs/resctrl/ctrlmondata.c b/fs/resctrl/ctrlmondata.c index b2d178d3556e..f5fb74a7668a 100644 --- a/fs/resctrl/ctrlmondata.c +++ b/fs/resctrl/ctrlmondata.c @@ -873,21 +873,31 @@ static int resctrl_io_alloc_parse_line(char *line, s= truct rdt_resource *r, struct rdt_ctrl_domain *d; char *dom =3D NULL, *id; unsigned long dom_id; + bool update_all; =20 next: if (!line || line[0] =3D=3D '\0') return 0; =20 + update_all =3D false; dom =3D strsep(&line, ";"); id =3D strsep(&dom, "=3D"); - if (!dom || kstrtoul(id, 10, &dom_id)) { + + if (id && !strcmp(id, "*")) { + update_all =3D true; + } else if (!dom || kstrtoul(id, 10, &dom_id)) { rdt_last_cmd_puts("Missing '=3D' or non-numeric domain\n"); return -EINVAL; } =20 dom =3D strim(dom); + if (update_all && !dom) { + rdt_last_cmd_puts("Missing '=3D' after '*'\n"); + return -EINVAL; + } + list_for_each_entry(d, &r->ctrl_domains, hdr.list) { - if (d->hdr.id =3D=3D dom_id) { + if (update_all || d->hdr.id =3D=3D dom_id) { data.buf =3D dom; data.mode =3D RDT_MODE_SHAREABLE; data.closid =3D closid; @@ -903,10 +913,14 @@ static int resctrl_io_alloc_parse_line(char *line, s= truct rdt_resource *r, &d->staged_config[s->conf_type], sizeof(d->staged_config[0])); } - goto next; + if (!update_all) + goto next; } } =20 + if (update_all) + goto next; + return -EINVAL; } =20 --=20 2.51.0