mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Chen Yu <yu.c.chen@intel.com>
To: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghuay@nvidia.com>,
	Reinette Chatre <reinette.chatre@intel.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>,
	"David E Box" <david.e.box@intel.com>, <x86@kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	<linux-kernel@vger.kernel.org>, <patches@lists.linux.dev>
Subject: Re: [PATCH v13 04/25] x86/resctrl: Centralize monitoring feature enumeration
Date: Mon, 19 Oct 2026 23:41:08 +0800	[thread overview]
Message-ID: <atY6FPFvbwlat8JG@chenyu-dev> (raw)
In-Reply-To: <20260928221509.68002-5-tony.luck@intel.com>

Hi Tony,

On Mon, Sep 28, 2026 at 03:14:48PM -0700, Tony Luck wrote:
> The original implementation of Intel Cache QoS Monitoring (CQM) planned
> to integrate with the "perf" and "cgroup" subsystems. With that plan it
> made sense for parameters from CPUID to be stored in fields of the
> cpuinfo_x86 structure. But that plan was abandoned and the resctrl file
> system user interface replaced it.
> 
> Centralize all L3 monitoring enumeration within resctrl in preparation for
> removal of resctrl fields from struct cpuinfo_x86.
> 
> Signed-off-by: Tony Luck <tony.luck@intel.com>

[ ... ]

> @@ -132,11 +133,9 @@ static inline void __resctrl_sched_in(struct task_struct *tsk)
>  
>  static inline unsigned int resctrl_arch_round_mon_val(unsigned int val)
>  {
> -	unsigned int scale = boot_cpu_data.x86_cache_occ_scale;
> -
> -	/* h/w works in units of "boot_cpu_data.x86_cache_occ_scale" */
> -	val /= scale;
> -	return val * scale;
> +	/* Round down to nearest h/w monitoring unit */
> +	val /= rdt_l3_mon_scale;

I wonder if we should take this chance to check if rdt_l3_mon_scale is
0 on broken hardware?

> +	return val * rdt_l3_mon_scale;
>  }
>  
> + */
> +unsigned int __ro_after_init rdt_l3_mon_scale;
> +
>  #define CF(cf)	((unsigned long)(1048576 * (cf) + 0.5))
>  
>  static int snc_nodes_per_l3_cache = 1;
> @@ -418,16 +423,37 @@ static __init int snc_get_config(void)
>  
>  int __init rdt_get_l3_mon_config(struct rdt_resource *r)
>  {
> -	unsigned int mbm_offset = boot_cpu_data.x86_cache_mbm_width_offset;
>  	struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
> +	unsigned int mbm_offset;
>  	unsigned int threshold;
>  	u32 eax, ebx, ecx, edx;
> +	u32 num_rmid;
> +
> +	/* Resource monitoring leaf is 0xf. L3 monitoring details in subleaf 1 */
> +	cpuid_count(0xf, 1, &eax, &ebx, &ecx, &edx);
> +	mbm_offset = eax & GENMASK(7, 0);
> +	rdt_l3_mon_scale = ebx;
>

Sashiko warns me that ebx might be 0, would 
rdt_l3_mon_scale = max(ebx, 1);
be doable?

thanks,
Chenyu

  reply	other threads:[~2026-10-19 15:54 UTC|newest]

Thread overview: 45+ 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
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-10-19 15:37   ` Chen Yu
2026-09-28 22:14 ` [PATCH v13 04/25] x86/resctrl: Centralize monitoring feature enumeration Tony Luck
2026-10-19 15:41   ` Chen Yu [this message]
2026-10-19 18:50     ` Luck, Tony
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-10-19 15:31   ` Chen Yu
2026-10-19 18:44     ` Luck, Tony
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=atY6FPFvbwlat8JG@chenyu-dev \
    --to=yu.c.chen@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=reinette.chatre@intel.com \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    /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®