[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aXk8hRtv6ATEjW8A@agluck-desk3>
Date: Tue, 27 Jan 2026 14:30:29 -0800
From: "Luck, Tony" <tony.luck@...el.com>
To: Babu Moger <babu.moger@....com>
CC: <corbet@....net>, <reinette.chatre@...el.com>, <Dave.Martin@....com>,
<james.morse@....com>, <tglx@...nel.org>, <mingo@...hat.com>, <bp@...en8.de>,
<dave.hansen@...ux.intel.com>, <x86@...nel.org>, <hpa@...or.com>,
<peterz@...radead.org>, <juri.lelli@...hat.com>,
<vincent.guittot@...aro.org>, <dietmar.eggemann@....com>,
<rostedt@...dmis.org>, <bsegall@...gle.com>, <mgorman@...e.de>,
<vschneid@...hat.com>, <akpm@...ux-foundation.org>,
<pawan.kumar.gupta@...ux.intel.com>, <pmladek@...e.com>,
<feng.tang@...ux.alibaba.com>, <kees@...nel.org>, <arnd@...db.de>,
<fvdl@...gle.com>, <lirongqing@...du.com>, <bhelgaas@...gle.com>,
<seanjc@...gle.com>, <xin@...or.com>, <manali.shukla@....com>,
<dapeng1.mi@...ux.intel.com>, <chang.seok.bae@...el.com>,
<mario.limonciello@....com>, <naveen@...nel.org>,
<elena.reshetova@...el.com>, <thomas.lendacky@....com>,
<linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<kvm@...r.kernel.org>, <peternewman@...gle.com>, <eranian@...gle.com>,
<gautham.shenoy@....com>
Subject: Re: [RFC PATCH 13/19] x86/resctrl: Add PLZA state tracking and
context switch handling
On Wed, Jan 21, 2026 at 03:12:51PM -0600, Babu Moger wrote:
> @@ -138,6 +143,20 @@ static inline void __resctrl_sched_in(struct task_struct *tsk)
> state->cur_rmid = rmid;
> wrmsr(MSR_IA32_PQR_ASSOC, rmid, closid);
> }
> +
> + if (static_branch_likely(&rdt_plza_enable_key)) {
> + tmp = READ_ONCE(tsk->plza);
> + if (tmp)
> + plza = tmp;
> +
> + if (plza != state->cur_plza) {
> + state->cur_plza = plza;
> + wrmsr(MSR_IA32_PQR_PLZA_ASSOC,
> + RMID_EN | state->plza_rmid,
> + (plza ? PLZA_EN : 0) | CLOSID_EN | state->plza_closid);
> + }
> + }
> +
Babu,
This addition to the context switch code surprised me. After your talk
at LPC I had imagined that PLZA would be a single global setting so that
every syscall/page-fault/interrupt would run with a different CLOSID
(presumably one configured with more cache and memory bandwidth).
But this patch series looks like things are more flexible with the
ability to set different values (of RMID as well as CLOSID) per group.
It looks like it is possible to have some resctrl group with very
limited resources just bump up a bit when in ring0, while other
groups may get some different amount.
The additions for plza to the Documentation aren't helping me
understand how users will apply this.
Do you have some more examples?
-Tony
Powered by blists - more mailing lists