mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Reinette Chatre <reinette.chatre@intel.com>
To: Tony Luck <tony.luck@intel.com>, Fenghua Yu <fenghuay@nvidia.com>,
	"Maciej Wieczor-Retman" <maciej.wieczor-retman@intel.com>,
	Peter Newman <peternewman@google.com>,
	James Morse <james.morse@arm.com>,
	Babu Moger <babu.moger@amd.com>,
	Drew Fustini <dfustini@baylibre.com>,
	Dave Martin <Dave.Martin@arm.com>, Chen Yu <yu.c.chen@intel.com>,
	David E Box <david.e.box@intel.com>, <x86@kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>,
	<linux-kernel@vger.kernel.org>, <patches@lists.linux.dev>,
	Sashiko <sashiko-bot@kernel.org>
Subject: Re: [PATCH v13 01/25] fs/resctrl: Ensure default group reports tasks on monitor-only systems
Date: Thu, 8 Oct 2026 15:21:48 -0700	[thread overview]
Message-ID: <c96110f6-d947-4d56-bc49-205ad2ab9632@intel.com> (raw)
In-Reply-To: <20260928221509.68002-2-tony.luck@intel.com>

Hi Tony,

On 9/28/26 3:14 PM, Tony Luck wrote:
> This is a pre-existing issue, but the resctrl_arch_alloc_capable() check in
> is_closid_match() actively breaks the default group on systems that only
> support monitoring capabilities.

It looks like my comments regarding tip changelog requirements are still being
missed. It is highly time-consuming to manually verify every claim made within
these changelogs, and then separately draft feedback on where they fail to meet
the documented tip requirements.

You inspired me to automate these steps. I created a "changelog checker" that
automatically verifies the claims and checks the changelog against the documented
tip requirements. These are the standard, straightforward expectations for our
submissions.

The tool will handle reviews of your changelogs instead of me so I don't lose any
more manual review time. You can coordinate directly with the bot's feedback now!

Here is what it has to say about this changelog:

Verified claims

  - rdtgroup_tasks_show() → show_rdt_tasks() → is_closid_match() — CONFIRMED (that is the chain in
    fs/resctrl/rdtgroup.c).
  - resctrl_arch_alloc_capable() false on monitor-only systems makes is_closid_match() return false for all tasks —
    CONFIRMED (x86 returns rdt_alloc_capable, set once in resctrl_cpu_detect() and never cleared; rdt_get_tree()
    permits a mount with monitoring alone).
  - The default group has type RDTCTRL_GROUP, so is_rmid_match() also returns false — CONFIRMED
    (rdtgroup_setup_default() sets type = RDTCTRL_GROUP; is_rmid_match() requires RDTMON_GROUP).
  - The root tasks file appears empty — CONFIRMED. The file always exists on a monitor-only mount; it carries
    RFTYPE_BASE, which rdt_get_tree() passes unconditionally.
  - A RDTCTRL_GROUP other than the default can only be created when allocation is supported — CONFIRMED
    (rdtgroup_mkdir() gates rdtgroup_mkdir_ctrl_mon() on resctrl_arch_alloc_capable()).
  - "whenever the remaining resctrl_arch_match_closid() check could meaningfully succeed,
    resctrl_arch_alloc_capable() was already implicitly true, making the test redundant" — FALSE.
    rdtgroup_setup_default() sets closid = RESCTRL_RESERVED_CLOSID, and every task that has not been moved keeps
    that CLOSID, so resctrl_arch_match_closid() succeeds for the default group while resctrl_arch_alloc_capable()
    is false. That is the case the patch fixes.
  - Fixes: e6b2fac36fcc — CONFIRMED. That commit introduced the capability test into the tasks-file path, and its
    own changelog asserted "This is harmless as rdtgroup_mkdir() tests these capable flags", which overlooked the
    default group.

Findings

  [R18][R9] must-fix  The safety argument contradicts the bug being fixed
      The last paragraph concludes the removed test was redundant. If it
      were redundant the patch would be a no-op. The default group is the
      one group whose result changes, and the parenthetical that excludes
      it from the first sentence is not carried into the second. Scope the
      claim: redundant for every other CTRL_MON group, wrong for the
      default group.

  [R5][R6][R24] should-fix  No context paragraph; the problem leads
      The body opens by naming the offending check. A reader has not yet
      been told that resctrl can be mounted with monitoring only, that the
      default group owns every unassigned task, or that CTRL_MON
      membership is decided by CLOSID. Without that, the problem paragraph
      has nothing to attach to.

  [R12] should-fix  No imperative solution sentence
      "Removing the resctrl_arch_alloc_capable() test is safe because ..."
      is a gerund, and the patch never says "Drop ...". The tip tree asks
      for the fix in the imperative.

  [R8] should-fix  Three paragraphs re-derive a one-term removal
      The indented call chain, then "is_closid_match() unconditionally
      returns false for all tasks", then the empty-file effect all restate
      the same single condition. The user-visible symptom plus the reason
      both match tests fail is enough.

  [R20] nit  "This is a pre-existing issue, but ..."
      This addresses the series reviewer, not a future reader of the
      commit. The Fixes: tag already conveys that the bug predates the
      series; such notes belong below the --- line.

  [R13] nit  "actively breaks" — "breaks" carries the same meaning.

  [R23][RC5] nit  Prose uses `type == RDTCTRL_GROUP`
      Documentation/filesystems/resctrl.rst calls these "CTRL_MON" groups
      and the root-owned ones "MON" groups. Those are the terms of art a
      reviewer can map to the interface without opening the diff.
  Tag ordering (Fixes → Reported-by → Closes → Signed-off-by) matches R21. Wrapping is 70–76 columns, within RC4 —
  checkpatch's single "Prefer a maximum 75 chars" warning is not reportable for resctrl.


> 
> When a user reads the root /sys/fs/resctrl/tasks file on a system with
> monitoring capabilities but no allocation capabilities, the following call
> chain occurs:
> 	rdtgroup_tasks_show()
> 	show_rdt_tasks()
> 	is_closid_match()
> 
> Since resctrl_arch_alloc_capable() evaluates to false on such systems,
> is_closid_match() unconditionally returns false for all tasks. Furthermore,
> because the default group has type RDTCTRL_GROUP, is_rmid_match() will also
> return false.
> 
> This causes the root tasks file to appear completely empty, hiding all tasks
> on the system that have not been explicitly moved to a monitoring group.
> 
> Removing the resctrl_arch_alloc_capable() test is safe because a struct
> rdtgroup with type == RDTCTRL_GROUP (other than the always-present default
> group) can only be created on systems where allocation is supported. So
> whenever the remaining resctrl_arch_match_closid() check could meaningfully
> succeed, resctrl_arch_alloc_capable() was already implicitly true, making
> the test redundant.
> 
> Fixes: e6b2fac36fcc ("x86/resctrl: Use is_closid_match() in more places")
> Reported-by: Sashiko <sashiko-bot@kernel.org>
> Closes: https://sashiko.dev/#/patchset/20260831174421.13921-1-tony.luck%40intel.com?part=9
> Signed-off-by: Tony Luck <tony.luck@intel.com>
> ---
Reinette


  reply	other threads:[~2026-10-08 22:22 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-28 22:14 [PATCH v13 00/25] Allow AET to use PMT as loadable module Tony Luck
2026-09-28 22:14 ` [PATCH v13 01/25] fs/resctrl: Ensure default group reports tasks on monitor-only systems Tony Luck
2026-10-08 22:21   ` Reinette Chatre [this message]
2026-09-28 22:14 ` [PATCH v13 02/25] x86/cpufeatures: Add missing CQM feature dependency Tony Luck
2026-09-28 22:14 ` [PATCH v13 03/25] x86/resctrl: Check if monitoring features are supported Tony Luck
2026-10-08 23:25   ` Reinette Chatre
2026-09-28 22:14 ` [PATCH v13 04/25] x86/resctrl: Centralize monitoring feature enumeration Tony Luck
2026-09-28 22:14 ` [PATCH v13 05/25] x86/resctrl: Apply Intel MBM quirk from rdt_get_l3_mon_config() Tony Luck
2026-10-09 17:15   ` Reinette Chatre
2026-09-28 22:14 ` [PATCH v13 06/25] x86/resctrl: Delete resctrl_cpu_detect() Tony Luck
2026-09-28 22:14 ` [PATCH v13 07/25] arm,x86,fs/resctrl: Replace architecture resctrl_arch_{alloc,mon}_capable() Tony Luck
2026-09-28 22:14 ` [PATCH v13 08/25] x86/resctrl: Update special case for Intel Haswell enumeration Tony Luck
2026-09-28 22:14 ` [PATCH v13 09/25] x86/resctrl: Delete rdt_alloc_capable and rdt_mon_capable Tony Luck
2026-09-28 22:14 ` [PATCH v13 10/25] fs/resctrl: Remove redundant calls to resctrl_mon_capable() Tony Luck
2026-09-28 22:14 ` [PATCH v13 11/25] x86/resctrl: Honor rdt={perf|energy} options to force enable AET events Tony Luck
2026-09-28 22:14 ` [PATCH v13 12/25] fs/resctrl: Add interface to disable a monitor event Tony Luck
2026-09-28 22:14 ` [PATCH v13 13/25] arm,x86,fs/resctrl: Allocate maximum needed rmid_ptrs[] Tony Luck
2026-10-06 19:53   ` Babu Moger
2026-10-06 22:07     ` Luck, Tony
2026-10-07 14:10       ` Moger, Babu
2026-09-28 22:14 ` [PATCH v13 14/25] arm,x86,fs/resctrl: Use right size for L3 monitor data structures Tony Luck
2026-09-28 22:14 ` [PATCH v13 15/25] x86,fs/resctrl: Handle systems where AET is the only resource Tony Luck
2026-09-28 22:15 ` [PATCH v13 16/25] x86/resctrl: Add PMT registration API for AET enumeration callbacks Tony Luck
2026-09-28 22:15 ` [PATCH v13 17/25] platform/x86/intel/pmt: Register enumeration functions with resctrl Tony Luck
2026-09-28 22:15 ` [PATCH v13 18/25] x86/resctrl: Use registered function pointers for AET enumeration Tony Luck
2026-09-29 17:52   ` [PATCH v14.1 " Tony Luck
2026-09-28 22:15 ` [PATCH v13 19/25] arm,x86,fs/resctrl: Enumerate AET on every resctrl mount Tony Luck
2026-09-29 17:52   ` [PATCH v14.1 " Tony Luck
2026-10-07 19:55     ` Babu Moger
2026-10-07 20:43       ` Luck, Tony
2026-09-28 22:15 ` [PATCH v13 20/25] x86/resctrl: Enforce system RMID limit on AET Tony Luck
2026-09-29 17:52   ` [PATCH v14.1 " Tony Luck
2026-09-28 22:15 ` [PATCH v13 21/25] x86/resctrl: Export interface to report telemetry unbind/remove Tony Luck
2026-09-29 17:52   ` [PATCH v14.1 " Tony Luck
2026-09-28 22:15 ` [PATCH v13 22/25] platform/x86/intel/pmt: Inform resctrl when MMIO maps are being removed Tony Luck
2026-09-28 22:15 ` [PATCH v13 23/25] x86/resctrl: Require 64-bit x86 for resctrl support Tony Luck
2026-09-28 22:15 ` [PATCH v13 24/25] x86/resctrl: Simplify Kconfig options for resctrl Tony Luck
2026-09-28 22:15 ` [PATCH v13 25/25] x86,fs/resctrl: Document telemetry mount timing caveat Tony Luck
2026-09-29  0:29 ` [PATCH v13 00/25] Allow AET to use PMT as loadable module Luck, Tony
2026-09-29 19:43   ` Luck, Tony

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=c96110f6-d947-4d56-bc49-205ad2ab9632@intel.com \
    --to=reinette.chatre@intel.com \
    --cc=Dave.Martin@arm.com \
    --cc=babu.moger@amd.com \
    --cc=david.e.box@intel.com \
    --cc=dfustini@baylibre.com \
    --cc=fenghuay@nvidia.com \
    --cc=hch@infradead.org \
    --cc=james.morse@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maciej.wieczor-retman@intel.com \
    --cc=patches@lists.linux.dev \
    --cc=peternewman@google.com \
    --cc=sashiko-bot@kernel.org \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    --cc=yu.c.chen@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®