mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Chen, Yu C" <yu.c.chen@intel.com>
To: Reinette Chatre <reinette.chatre@intel.com>
Cc: <x86@kernel.org>, <linux-kernel@vger.kernel.org>,
	<tglx@kernel.org>, <bp@alien8.de>, <mingo@redhat.com>,
	<dave.hansen@linux.intel.com>, <hpa@zytor.com>,
	<fenghuay@nvidia.com>, <babu.moger@amd.com>,
	<anil.keshavamurthy@broadcom.com>, <chen.yu@linux.dev>,
	Hongyu Ning <hongyu.ning@linux.intel.com>, <tony.luck@intel.com>
Subject: Re: [PATCH v5 05/10] x86/resctrl: Parse ACPI CMRC table
Date: Wed, 15 Jul 2026 00:27:53 +0800	[thread overview]
Message-ID: <b8e5af40-054e-4c30-9e97-3c607d0edbe4@intel.com> (raw)
In-Reply-To: <87255829-a70d-4b64-9fd7-9771677d1933@intel.com>

Hi Reinette,

On 7/11/2026 7:46 AM, Reinette Chatre wrote:
> Hi Chenyu,
> 
> On 7/1/26 6:46 AM, Chen Yu wrote:
>> The CMRC (Cache Monitoring Registers for CPU Agents Description)
>> sub-table of ERDT describes the MMIO registers used to read
>> cache monitoring counters (e.g. LLC occupancy) for an RMD.
> 
> Please use the entire line length available (please check all changelogs).
> Some context for this request:
> https://lore.kernel.org/lkml/20250916105447.GCaMlB976WLxHHeNMD@fat_crate.local/
> 

OK, will use 80 characters per line.

>>
>> Parse each CMRC sub-table, ioremap its register window, and save
>> the CMRC pointer in the corresponding ERDT domain entry so that
>> later monitoring code can read the counters via MMIO.
> 
> Is the "save the CMRC pointer ..." referring to how resctrl makes
> a copy of the CMRC table? If so, that is very different from
> "saving a pointer".
> 

It is a copy of the original table content. Let me adjust this description.

[ ... ]

>> +static __init int cmrc_init(struct acpi_subtbl_hdr_16 *subtbl,
>> +			    struct erdt_domain_info *domain_info)
>> +{
>> +	struct acpi_erdt_cmrc *cmrc = (struct acpi_erdt_cmrc *)subtbl;
>> +
>> +	if (subtbl->length < sizeof(*cmrc)) {
> 
> I think it will be helpful if the ERDT parsing code uses consistent patterns. Here,
> for example, now that a pointer of accurate type is available via cmrc, can cmrc
> be referenced instead to be consistent with cacd_init()?
> 

OK, I will use cmrc->length to keep consistency.

>> +
>>   static inline struct acpi_subtbl_hdr_16 *rmdd_subtbl(struct acpi_erdt_rmdd *rmdd)
>>   {
>>   	return (void *)rmdd + sizeof(*rmdd);
>> @@ -178,6 +215,13 @@ static __init bool parse_rmdd_entry(struct acpi_subtbl_hdr_16 *rmdd_hdr)
>>   				goto cleanup;
>>   
>>   			subtbl_mask |= BIT(ACPI_ERDT_TYPE_CACD);
>> +			break;
>> +		case ACPI_ERDT_TYPE_CMRC:
>> +			/* TBD: Only 1 CMRR per domain is allowed? */
> 
> Who are you asking this question to?
> 

The current code supports 1 CMRC per domain. The spec says there are "at 
least
one instance of this structure for each RDT domain" But it is unclear to me
how to route to different CMRC. I'll check with the arch team to figure out.

thanks,
Chenyu

  reply	other threads:[~2026-07-14 16:28 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-01 13:44 [PATCH v5 00/10] Introduce MMIO-based CMT access for Enhanced RDT Chen Yu
2026-07-01 13:45 ` [PATCH v5 01/10] x86/resctrl: Require 64-bit x86 for resctrl support Chen Yu
2026-07-01 13:45 ` [PATCH v5 02/10] x86/topology: Export topo_lookup_cpuid() for resctrl use Chen Yu
2026-07-10 23:35   ` Reinette Chatre
2026-07-14 15:45     ` Chen, Yu C
2026-07-01 13:45 ` [PATCH v5 03/10] x86/resctrl: Parse ACPI ERDT table and save CACD cpumask for RMDD domains Chen Yu
2026-07-10 23:42   ` Reinette Chatre
2026-07-14 15:19     ` Chen, Yu C
2026-07-14 16:13       ` Reinette Chatre
2026-07-14 16:33         ` Chen, Yu C
2026-07-01 13:45 ` [PATCH v5 04/10] x86/resctrl: Attach ACPI ERDT information to L3 mon domain on CPU online Chen Yu
2026-07-10 23:45   ` Reinette Chatre
2026-07-14  8:51     ` Chen, Yu C
2026-07-14 16:13       ` Reinette Chatre
2026-07-14 16:24         ` Chen, Yu C
2026-07-01 13:46 ` [PATCH v5 05/10] x86/resctrl: Parse ACPI CMRC table Chen Yu
2026-07-10 23:46   ` Reinette Chatre
2026-07-14 16:27     ` Chen, Yu C [this message]
2026-07-01 13:46 ` [PATCH v5 06/10] x86/resctrl: Replace "msr" in monitoring data identifiers Chen Yu
2026-07-10 23:47   ` Reinette Chatre
2026-07-01 13:46 ` [PATCH v5 07/10] x86/resctrl: Refactor the monitor read function Chen Yu
2026-07-01 13:47 ` [PATCH v5 08/10] fs/resctrl: Do not invoke smp_processor_id() in preemptible context Chen Yu
2026-07-10 23:48   ` Reinette Chatre
2026-07-01 13:47 ` [PATCH v5 09/10] x86/resctrl: Introduce helpers to read L3 occupancy via MMIO Chen Yu
2026-07-10 23:53   ` Reinette Chatre
2026-07-01 13:47 ` [PATCH v5 10/10] x86/resctrl: Enable " Chen Yu
2026-07-10 23:55   ` 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=b8e5af40-054e-4c30-9e97-3c607d0edbe4@intel.com \
    --to=yu.c.chen@intel.com \
    --cc=anil.keshavamurthy@broadcom.com \
    --cc=babu.moger@amd.com \
    --cc=bp@alien8.de \
    --cc=chen.yu@linux.dev \
    --cc=dave.hansen@linux.intel.com \
    --cc=fenghuay@nvidia.com \
    --cc=hongyu.ning@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=reinette.chatre@intel.com \
    --cc=tglx@kernel.org \
    --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