All of lore.kernel.org
 help / color / mirror / Atom feed
From: Babu Moger <babu.moger@amd.com>
To: Qinyun Tan <qinyuntan@linux.alibaba.com>
Cc: tony.luck@intel.com, reinette.chatre@intel.com,
	james.morse@arm.com, Dave.Martin@arm.com, tglx@kernel.org,
	bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org,
	linux-kernel@vger.kernel.org, feng.tang@linux.alibaba.com,
	xlpang@linux.alibaba.com
Subject: Re: [PATCH 0/4] x86,fs/resctrl: kernel-mode (PLZA) fixes found during review
Date: Thu, 11 Jun 2026 16:02:35 -0500	[thread overview]
Message-ID: <b08bbaf0-aa87-45ff-b480-da03fc567cc4@amd.com> (raw)
In-Reply-To: <20260611111706.1981788-1-qinyuntan@linux.alibaba.com>

Hi Qinyun,


On 6/11/26 06:17, Qinyun Tan wrote:
> Hi Babu,
> 
> While reviewing this v3 series I found a few issues in the kernel-mode
> (PLZA) support and wrote a fix for each.
> I'm sending them as a small follow-up set on top of v3 so they are easy
> to fold into the next revision, or to take as separate patches --
> whichever you prefer.  The patches are ordered by dependency (build fix
> -> semantic fix -> the two binding fixes) so the series is bisectable on
> top of v3.
> 
> Patch 1 (ARM MPAM build fix): fs/resctrl now calls
> resctrl_arch_get_kmode_support()/resctrl_arch_configure_kmode(), which
> are only implemented on x86, so an aarch64 allyesconfig (MPAM) fails to
> link.  Add empty arch stubs, and hide info/kernel_mode on platforms that
> advertise no mode beyond inherit_ctrl_and_mon.
> 
> Patch 2 (RMID_EN + RDTMON_GROUP): RMID_EN is hardcoded to 1, so
> inherit_mon counts kernel-mode traffic under the PLZA RMID instead of
> inheriting from PQR_ASSOC; and assign_mon is forced to bind an
> RDTMON_GROUP, wasting an RMID.  Make RMID_EN mode-based and let assign_mon
> also accept a control group.  This is the issue we discussed earlier and
> you confirmed; this is the patch for it.
> 
> Patch 3 (atomic switch): resctrl_kernel_mode_write() releases the
> previous binding before it programs the new one.  If programming the new
> binding fails (-ENOMEM, or a pseudo-locked target group), the old,
> working binding is already gone -- a user who only tried to switch loses
> the original configuration too.  Make the switch atomic: all fallible
> work is done before the old binding is released, so a failed switch is a
> no-op.
> 
> Patch 4 (CPU online): the PLZA MSR is per-CPU and is only written over
> the CPUs that are online at bind time / mask change; nothing reprograms a
> CPU that comes online afterwards.  A hot-added vCPU, or a CPU that was
> offline at bind time, then runs with PLZA off although it is in scope,
> while info/kernel_mode still reports the binding as active.  Drive the
> per-CPU state from resctrl_online_cpu() so it is synced idempotently on
> every online (and stale enable bits are cleared for a CPU that left the
> scope while offline).
> 
> Concretely, the patch 4 failure mode is: offline a CPU, bind a
> global-assign mode while it is absent, then online it -- the onlined CPU
> is left with PLZA_EN=0 although it is in scope, while a CPU that was
> present at bind time has PLZA_EN=1, so its CPL0 traffic is not accounted
> to the bound kernel-mode group.
> 
> I'd appreciate your view on whether these match your intent for the
> design.
> 
> Qinyun Tan (4):
>    resctrl: Add kmode arch stubs for ARM MPAM and hide kernel_mode on
>      non-PLZA platforms
>    resctrl: Fix PLZA RMID_EN to be mode-based and relax RDTMON_GROUP
>      constraint for assign_mon
>    fs/resctrl: make a failed kernel-mode switch a no-op
>    fs/resctrl: program PLZA on a CPU that comes online under a binding


I have gone thru all your patches. Patches look good to me.
I also ran some basic tests to make sure it works as expected.

Note the I am still waiting for comments from maintainer (Reinette).

I will fold your changes in v4 whenever that happens.

Thanks for the review and changes.

Thanks
Babu


  reply	other threads:[~2026-06-11 21:02 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-30 23:24 [PATCH v3 00/12] [PATCH v3 00/12] x86/resctrl: Add kernel-mode (e.g., PLZA) support to the resctrl subsystem Babu Moger
2026-04-30 23:24 ` [PATCH v3 01/12] x86/resctrl: Support Privilege-Level Zero Association (PLZA) Babu Moger
2026-06-11 23:23   ` Reinette Chatre
2026-06-12 16:56     ` Moger, Babu
2026-06-12 17:00       ` Moger, Babu
2026-06-17  0:00       ` Reinette Chatre
2026-04-30 23:24 ` [PATCH v3 02/12] x86/resctrl: Add data structures and definitions for PLZA configuration Babu Moger
2026-06-11 23:40   ` Reinette Chatre
2026-06-12 15:40     ` Luck, Tony
2026-06-12 17:46       ` Moger, Babu
2026-06-12 17:32     ` Moger, Babu
2026-06-12 17:49       ` Moger, Babu
2026-04-30 23:24 ` [PATCH v3 03/12] fs/resctrl: Add kernel mode (kmode) data structures and arch hook Babu Moger
2026-06-16 23:30   ` Reinette Chatre
2026-04-30 23:24 ` [PATCH v3 04/12] x86,fs/resctrl: Program PLZA through kmode arch hooks Babu Moger
2026-05-19 20:59   ` Luck, Tony
2026-05-20 17:49     ` Babu Moger
2026-05-20 22:16       ` Luck, Tony
2026-05-20 23:09         ` Moger, Babu
2026-06-05 10:06           ` Qinyun Tan
2026-06-08 18:17             ` Babu Moger
2026-06-11 11:44           ` Peter Newman
2026-06-11 14:46             ` Babu Moger
2026-06-16 23:33   ` Reinette Chatre
2026-04-30 23:24 ` [PATCH v3 05/12] x86/resctrl: Initialize supported kernel modes for PLZA Babu Moger
2026-06-16 23:35   ` Reinette Chatre
2026-04-30 23:24 ` [PATCH v3 06/12] fs/resctrl: Initialize the global kernel-mode policy at subsystem init Babu Moger
2026-06-16 23:36   ` Reinette Chatre
2026-04-30 23:24 ` [PATCH v3 07/12] fs/resctrl: Add info/kernel_mode for kernel-mode policy introspection Babu Moger
2026-06-16 23:38   ` Reinette Chatre
2026-04-30 23:24 ` [PATCH v3 08/12] fs/resctrl: Make info/kernel_mode writable and identify the bound group Babu Moger
2026-06-16 23:42   ` Reinette Chatre
2026-04-30 23:24 ` [PATCH v3 09/12] fs/resctrl: Reset kernel-mode binding when its rdtgroup goes away Babu Moger
2026-06-16 23:42   ` Reinette Chatre
2026-04-30 23:24 ` [PATCH v3 10/12] fs/resctrl: Expose kmode_cpus / kmode_cpus_list per rdtgroup Babu Moger
2026-04-30 23:24 ` [PATCH v3 11/12] resctrl: Hide kmode_cpus[_list] on groups not bound to kernel-mode Babu Moger
2026-04-30 23:24 ` [PATCH v3 12/12] fs/resctrl: Allow user space to write kmode_cpus / kmode_cpus_list Babu Moger
2026-06-08  9:23 ` [PATCH v3 00/12] x86/resctrl: Add kernel-mode (e.g., PLZA) support to the resctrl subsystem Qinyun Tan
2026-06-09 14:10   ` Babu Moger
2026-06-10  1:40     ` qinyuntan
2026-06-11 11:17 ` [PATCH 0/4] x86,fs/resctrl: kernel-mode (PLZA) fixes found during review Qinyun Tan
2026-06-11 21:02   ` Babu Moger [this message]
2026-06-11 11:17 ` [PATCH 1/4] resctrl: Add kmode arch stubs for ARM MPAM and hide kernel_mode on non-PLZA platforms Qinyun Tan
2026-06-11 11:33   ` [PATCH v2 1/4] resctrl: Add kmode arch stubs for ARM MPAM Qinyun Tan
2026-06-11 11:17 ` [PATCH 2/4] resctrl: Fix PLZA RMID_EN to be mode-based and relax RDTMON_GROUP constraint for assign_mon Qinyun Tan
2026-06-11 11:17 ` [PATCH 3/4] fs/resctrl: make a failed kernel-mode switch a no-op Qinyun Tan
2026-06-11 11:17 ` [PATCH 4/4] fs/resctrl: program PLZA on a CPU that comes online under a binding Qinyun Tan
2026-06-11 21:53 ` [PATCH v3 00/12] [PATCH v3 00/12] x86/resctrl: Add kernel-mode (e.g., PLZA) support to the resctrl subsystem Reinette Chatre
2026-06-12 15:37   ` Moger, Babu
2026-06-17  4:34     ` Reinette Chatre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b08bbaf0-aa87-45ff-b480-da03fc567cc4@amd.com \
    --to=babu.moger@amd.com \
    --cc=Dave.Martin@arm.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=feng.tang@linux.alibaba.com \
    --cc=james.morse@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=qinyuntan@linux.alibaba.com \
    --cc=reinette.chatre@intel.com \
    --cc=tglx@kernel.org \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    --cc=xlpang@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.