All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Chen, Yu C" <yu.c.chen@intel.com>
To: Reinette Chatre <reinette.chatre@intel.com>
Cc: <tony.luck@intel.com>, <tglx@kernel.org>, <bp@alien8.de>,
	<mingo@redhat.com>, <dave.hansen@linux.intel.com>,
	<hpa@zytor.com>, <fenghuay@nvidia.com>, <babu.moger@amd.com>,
	<chen.yu@linux.dev>, <x86@kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v6 8/9] x86/resctrl: Introduce erdt_cpu_has() and erdt_support()
Date: Tue, 25 Aug 2026 19:55:17 +0800	[thread overview]
Message-ID: <684784cc-00fd-4c91-81a7-99bc4ef55f0d@intel.com> (raw)
In-Reply-To: <bc18906b-357d-4fe2-a42b-b2515b3d11fc@intel.com>

Hi Reinette,

On 8/20/2026 7:08 AM, Reinette Chatre wrote:
> Hi Chenyu,
> 
> On 7/25/26 2:23 AM, Chen Yu wrote:
>> Introduce erdt_cpu_has() to verify if a specific RDT feature is backed
>> by an ERDT table. erdt_cpu_has() is derived from rdt_cpu_has(), which
>> not only considers firmware (ERDT table and its sub-tables) support for
>> an event, but also considers userspace input like "rdt=!cmt".
>> Similar to rdt_cpu_has(), erdt_cpu_has() expects an x86 feature flag
>> as parameter.
>>
>> Introduce erdt_support() as a helper called by erdt_cpu_has() to check
>> whether the ERDT firmware supports a given feature.
>>
>> erdt_support() deliberately claims no feature yet and returns false. A
>> feature may only be reported as ERDT backed once the low level accessors
>> that read its monitoring data via MMIO exist, otherwise callers would
> 
> Are these helpers limited to monitoring ERDT features? First paragraph mentions
> "support for an event" and above mentions "read its monitoring data" that
> imply these helpers are limited to monitoring features but I do not think this is
> the case?
> 

They are not only for monitoring features, but for monitor/allocation 
features.
Let me adjust the description.

>> take the ERDT path and find no implementation behind it. Features are
>> added to erdt_support() as their MMIO implementations are introduced.
> 
> nit: "are added" -> "should be added"
> 

OK.

>>
>> Signed-off-by: Chen Yu <yu.c.chen@intel.com>
>> Tested-by: Hongyu Ning <hongyu.ning@linux.intel.com>
>> ---
>> v5->v6:
>>      New patch. Split out of the v5 "x86/resctrl: Introduce helpers to
>>      read L3 occupancy via MMIO" patch, which carried two logical
>>      changes. (Reinette Chatre)
>>      Rename erdt_support_features() to erdt_support(). (Reinette Chatre)
>>      Reword "expects x86 feature flag as parameters" to "expects an x86
>>      feature flag as parameter". (Reinette Chatre)
>>      Explain in the changelog why erdt_support() returns false here: a
>>      feature is only reported as ERDT backed once the MMIO accessors that
>>      read its monitoring data exist. (Reinette Chatre)
>>      Drop the unused asm/cpufeatures.h include. (Reinette Chatre)
>> ---
>>   arch/x86/include/asm/resctrl.h         |  1 +
>>   arch/x86/kernel/cpu/resctrl/core.c     | 23 +++++++++++++++++++++++
>>   arch/x86/kernel/cpu/resctrl/erdt.c     |  5 +++++
>>   arch/x86/kernel/cpu/resctrl/internal.h |  2 ++
>>   4 files changed, 31 insertions(+)
>>
>> diff --git a/arch/x86/include/asm/resctrl.h b/arch/x86/include/asm/resctrl.h
>> index e60c2aea7ebd..5491853113dd 100644
>> --- a/arch/x86/include/asm/resctrl.h
>> +++ b/arch/x86/include/asm/resctrl.h
>> @@ -49,6 +49,7 @@ DECLARE_STATIC_KEY_FALSE(rdt_enable_key);
>>   DECLARE_STATIC_KEY_FALSE(rdt_alloc_enable_key);
>>   DECLARE_STATIC_KEY_FALSE(rdt_mon_enable_key);
>>   
>> +bool erdt_cpu_has(int flag);
>>   int erdt_get_scale(void);
>>   
> 
> Can this declaration be dropped? Below there is a duplicate declaration
> added to arch/x86/kernel/cpu/resctrl/internal.h that should be sufficient?
> 

This declaration is needed by [PATCH 9/9] in 
resctrl_arch_round_mon_val(), which
uses erdt_cpu_has(). Maybe we can drop erdt_cpu_has() from internal.h, 
although
I thought exposing both erdt_cpu_has() and erdt_support() might be 
useful too.

thanks,
Chenyu

  reply	other threads:[~2026-08-25 11:55 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-25  9:20 [PATCH v6 0/9] Introduce MMIO-based CMT access for Enhanced RDT Chen Yu
2026-07-25  9:22 ` [PATCH v6 1/9] x86/topology: Export topo_lookup_cpuid() for resctrl use Chen Yu
2026-08-19 22:55   ` Reinette Chatre
2026-08-22  4:16     ` Chen Yu
2026-07-25  9:22 ` [PATCH v6 2/9] x86/resctrl: Require 64-bit x86 for resctrl support Chen Yu
2026-08-19 22:55   ` Reinette Chatre
2026-08-20 15:20     ` Luck, Tony
2026-08-20 15:54       ` Reinette Chatre
2026-08-20 17:01         ` Luck, Tony
2026-08-20 17:12           ` Dave Hansen
2026-08-20 17:48             ` Reinette Chatre
2026-08-21  2:37               ` Borislav Petkov
2026-08-21 15:47                 ` Reinette Chatre
2026-08-21 15:54                   ` Borislav Petkov
2026-08-25 13:12                   ` Chen Yu
2026-08-24 14:18                     ` Dave Hansen
2026-08-24 15:15                       ` Chen, Yu C
2026-08-25  2:40                       ` Borislav Petkov
2026-08-21 11:28             ` Peter Zijlstra
2026-08-21 15:52               ` Borislav Petkov
2026-08-21 16:58                 ` Luck, Tony
2026-08-22  0:04                   ` Borislav Petkov
2026-07-25  9:22 ` [PATCH v6 3/9] x86/resctrl: Parse ACPI ERDT table and save CACD cpumask for RMDD domains Chen Yu
2026-08-19 23:01   ` Reinette Chatre
2026-08-25  8:06     ` Chen Yu
2026-08-24 15:54       ` Reinette Chatre
2026-08-25 16:18         ` Chen, Yu C
2026-07-25  9:23 ` [PATCH v6 4/9] x86/resctrl: Attach ACPI ERDT information to L3 mon domain on CPU online Chen Yu
2026-08-19 23:04   ` Reinette Chatre
2026-08-25  5:54     ` Chen, Yu C
2026-07-25  9:23 ` [PATCH v6 5/9] x86/resctrl: Parse ACPI CMRC table Chen Yu
2026-08-19 23:06   ` Reinette Chatre
2026-08-25  9:19     ` Chen, Yu C
2026-08-25 15:39       ` Reinette Chatre
2026-08-25 16:11         ` Chen, Yu C
2026-08-25 16:38           ` Luck, Tony
2026-07-25  9:23 ` [PATCH v6 6/9] x86/resctrl: Refactor the monitor read function Chen Yu
2026-08-19 23:07   ` Reinette Chatre
2026-08-25 10:03     ` Chen, Yu C
2026-07-25  9:23 ` [PATCH v6 7/9] fs/resctrl: Do not invoke smp_processor_id() in preemptible context Chen Yu
2026-08-19 23:08   ` Reinette Chatre
2026-08-25 11:17     ` Chen, Yu C
2026-07-25  9:23 ` [PATCH v6 8/9] x86/resctrl: Introduce erdt_cpu_has() and erdt_support() Chen Yu
2026-08-19 23:08   ` Reinette Chatre
2026-08-25 11:55     ` Chen, Yu C [this message]
2026-07-25  9:23 ` [PATCH v6 9/9] x86/resctrl: Add MMIO-based LLC occupancy monitoring support Chen Yu
2026-08-19 23:10   ` Reinette Chatre
2026-08-25 16:11     ` Chen, Yu C
2026-08-25 17:10       ` Reinette Chatre
2026-08-13  6:43 ` [PATCH v6 0/9] Introduce MMIO-based CMT access for Enhanced RDT Chen Yu

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=684784cc-00fd-4c91-81a7-99bc4ef55f0d@intel.com \
    --to=yu.c.chen@intel.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=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 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.