[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <SJ1PR11MB608391142B594331922876EFFCC5A@SJ1PR11MB6083.namprd11.prod.outlook.com>
Date: Wed, 5 Nov 2025 18:25:28 +0000
From: "Luck, Tony" <tony.luck@...el.com>
To: "Moger, Babu" <bmoger@....com>, Dave Martin <Dave.Martin@....com>, "Babu
Moger" <babu.moger@....com>
CC: "Chatre, Reinette" <reinette.chatre@...el.com>, "tglx@...utronix.de"
<tglx@...utronix.de>, "mingo@...hat.com" <mingo@...hat.com>, "bp@...en8.de"
<bp@...en8.de>, "dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>,
"corbet@....net" <corbet@....net>, "james.morse@....com"
<james.morse@....com>, "x86@...nel.org" <x86@...nel.org>, "hpa@...or.com"
<hpa@...or.com>, "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"paulmck@...nel.org" <paulmck@...nel.org>, "rdunlap@...radead.org"
<rdunlap@...radead.org>, "pmladek@...e.com" <pmladek@...e.com>,
"kees@...nel.org" <kees@...nel.org>, "arnd@...db.de" <arnd@...db.de>,
"fvdl@...gle.com" <fvdl@...gle.com>, "seanjc@...gle.com" <seanjc@...gle.com>,
"pawan.kumar.gupta@...ux.intel.com" <pawan.kumar.gupta@...ux.intel.com>,
"xin@...or.com" <xin@...or.com>, "thomas.lendacky@....com"
<thomas.lendacky@....com>, "Mehta, Sohil" <sohil.mehta@...el.com>,
"jarkko@...nel.org" <jarkko@...nel.org>, "Bae, Chang Seok"
<chang.seok.bae@...el.com>, "ebiggers@...gle.com" <ebiggers@...gle.com>,
"Reshetova, Elena" <elena.reshetova@...el.com>, "ak@...ux.intel.com"
<ak@...ux.intel.com>, "mario.limonciello@....com"
<mario.limonciello@....com>, "perry.yuan@....com" <perry.yuan@....com>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"peternewman@...gle.com" <peternewman@...gle.com>,
"feng.tang@...ux.alibaba.com" <feng.tang@...ux.alibaba.com>
Subject: RE: [PATCH v11 06/10] fs/resctrl: Add user interface to
enable/disable io_alloc feature
> But in AMD systems its the highest CLOSID (15). Also, this CLOSID usage
> in not visible to user. There is no update of PQR_ASSOC register during
> the context switch. Hardware internally routes the traffic using the
> CLOSID's(15) limits.
Things are even more complex for Intel IO as described in the RDT architecture
specification. There can be separate IO caches from the CPU caches. When
this happens the RMIDs and CLOSIDs for IO are in a separate space from
those for CPU. I.e. you can assign RMID=1 CLOSID=1 to some tasks and
those will measure and control traffic from a CPU L3 cache instance.
IO devices may also use RMID=1, CLOSID=1 ... but those measure and
control traffic from an IO cache instance.
This looks like the multi-socket case where RMID=1 on
socket 0 (and thus L3 cache 0) is independent from RMID=1 on
socket 1. But resctrl partially hides this by making RMID allocation
global and just providing separate event files for each L3 cache
instance.
I don't think this maps to CPU vs IO. As Babu notes above, there's
no update for IO CLOSID/RMID on process context switch. So it
makes no sense to allocate IO RMIDs from the same pool as CPU
RMIDs.
I haven't come up with any concrete plans for how to implement this
version of IO RDT into resctrl. The earlier implementation on Granite Rapids
didn't have IO caches independent from CPU caches.
-Tony
Powered by blists - more mailing lists