From: "Zhang, Rui" <rui.zhang@intel.com>
To: "peterz@infradead.org" <peterz@infradead.org>
Cc: "linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"gautham.shenoy@amd.com" <gautham.shenoy@amd.com>,
"alexander.shishkin@linux.intel.com"
<alexander.shishkin@linux.intel.com>,
"Brown, Len" <len.brown@intel.com>,
"ananth.narayan@amd.com" <ananth.narayan@amd.com>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"ravi.bangoria@amd.com" <ravi.bangoria@amd.com>,
"Hunter, Adrian" <adrian.hunter@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"mingo@redhat.com" <mingo@redhat.com>,
"irogers@google.com" <irogers@google.com>,
"oleksandr@natalenko.name" <oleksandr@natalenko.name>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"sandipan.das@amd.com" <sandipan.das@amd.com>,
"kan.liang@linux.intel.com" <kan.liang@linux.intel.com>,
"kees@kernel.org" <kees@kernel.org>,
"gustavoars@kernel.org" <gustavoars@kernel.org>,
"Dhananjay.Ugwekar@amd.com" <Dhananjay.Ugwekar@amd.com>,
"mark.rutland@arm.com" <mark.rutland@arm.com>,
"linux-hardening@vger.kernel.org"
<linux-hardening@vger.kernel.org>, "bp@alien8.de" <bp@alien8.de>,
"acme@kernel.org" <acme@kernel.org>,
"linux-perf-users@vger.kernel.org"
<linux-perf-users@vger.kernel.org>,
"kprateek.nayak@amd.com" <kprateek.nayak@amd.com>,
"jolsa@kernel.org" <jolsa@kernel.org>,
"x86@kernel.org" <x86@kernel.org>,
"namhyung@kernel.org" <namhyung@kernel.org>
Subject: Re: [PATCH v3 08/10] perf/x86/rapl: Modify the generic variable names to *_pkg*
Date: Mon, 8 Jul 2024 01:56:13 +0000 [thread overview]
Message-ID: <a3193f3801f91a42bf16d4eeafcbdc24cd6d2c75.camel@intel.com> (raw)
In-Reply-To: <20240705092416.GB11386@noisy.programming.kicks-ass.net>
Hi, Peter,
On Fri, 2024-07-05 at 11:24 +0200, Peter Zijlstra wrote:
> On Fri, Jul 05, 2024 at 02:18:30AM +0000, Zhang, Rui wrote:
>
> > > > > I have a doubt about this, won't the future Intel multi-die
> > > > > systems
> > > > > have die-scope for the RAPL PMU like Casecadelake-AP?
> > > >
> > > > For future multi-die systems that I know, the RAPL is still
> > > > package
> > > > scope
> > >
> > > I think in that case we can go with rule 2, it would be future
> > > proof
> > > for Intel systems. If you agree, I can make the change in next
> > > version.
> > >
> > > Something like below?,
> > >
> > > -#define rapl_pmu_is_pkg_scope() \
> > > - (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
> > > \
> > >
> > >
> > >
> > >
> > > - boot_cpu_data.x86_vendor == X86_VENDOR_HYGON)
> > >
> > > +#define rapl_pmu_is_die_scope() \
> > > + (boot_cpu_data.x86_model_id == CASCADELAKE)
> > >
> > sounds good to me. Just a reminder that using boot_cpu_data.vfm is
> > a
> > better choice here.
> >
> > And it would be great to get Peter' view on this.
>
> Peter is confused :-) So you're saying that:
>
> - old Intel is pkg wide (it has no DIE enumeration)
right.
> - Cascadelake (part of the skylake refresh) is per-DIE
right.
It enumerates DIE and its RAPL control (RAPL MSR scope) is also per-
DIE.
> - modern Intel is pkg wide (they have no DIE enumeration)
right.
> - future Intel will be pkg wide
see detailed comment below.
>
> And this works because for everything that does not enumerate a
> specific
> DIE topology, it ends up begin the same as the PKG topology.
Right.
>
> But what about future products that have DIE but are not CASCADE
> (what
> about COOPERLAKE) ?
For the one that I know, it has Die enumeration but its RAPL control is
still pkg wide.
However, the RAPL control for it (and other future Xeon platforms) is
not done via MSR interface so it does not break this RAPL PMU code.
Future Intel client platforms still rely on MSR to do RAPL control, but
their RAPL control scope (and if they will enumerate DIE) is not clear.
But still, IMO, this suggests that the RAPL control scope is not
architectural and a quirk list (probably ends up with Casecade-AP only)
makes more sense here.
thanks,
rui
>
> If this really is a one off for CASCADE, then yes, I think we should
> be
> doing what Dhananjay suggests, and then the PKG naming is fine.
>
>
next prev parent reply other threads:[~2024-07-08 1:56 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-24 5:58 [PATCH v3 00/10] Add per-core RAPL energy counter support for AMD CPUs Dhananjay Ugwekar
2024-06-24 5:58 ` [PATCH v3 01/10] x86/topology: Introduce topology_logical_core_id() Dhananjay Ugwekar
2024-06-26 14:14 ` Zhang, Rui
2024-06-24 5:58 ` [PATCH v3 02/10] perf/x86/rapl: Fix the energy-pkg event for AMD CPUs Dhananjay Ugwekar
2024-06-26 14:18 ` Zhang, Rui
2024-06-26 15:34 ` Dhananjay Ugwekar
2024-07-01 12:59 ` Peter Zijlstra
2024-07-02 9:39 ` Dhananjay Ugwekar
2024-06-24 5:59 ` [PATCH v3 03/10] perf/x86/rapl: Rename rapl_pmu variables Dhananjay Ugwekar
2024-06-24 5:59 ` [PATCH v3 04/10] perf/x86/rapl: Make rapl_model struct global Dhananjay Ugwekar
2024-06-24 5:59 ` [PATCH v3 05/10] perf/x86/rapl: Move cpumask variable to rapl_pmus struct Dhananjay Ugwekar
2024-07-01 13:02 ` Peter Zijlstra
2024-07-02 10:16 ` Dhananjay Ugwekar
2024-06-24 5:59 ` [PATCH v3 06/10] perf/x86/rapl: Add wrapper for online/offline functions Dhananjay Ugwekar
2024-06-24 5:59 ` [PATCH v3 07/10] perf/x86/rapl: Add an argument to the cleanup and init functions Dhananjay Ugwekar
2024-06-24 5:59 ` [PATCH v3 08/10] perf/x86/rapl: Modify the generic variable names to *_pkg* Dhananjay Ugwekar
2024-07-01 13:08 ` Peter Zijlstra
2024-07-02 2:25 ` Zhang, Rui
2024-07-02 10:20 ` Dhananjay Ugwekar
2024-07-03 4:07 ` Zhang, Rui
2024-07-03 6:31 ` Dhananjay Ugwekar
2024-07-05 2:18 ` Zhang, Rui
2024-07-05 9:24 ` Peter Zijlstra
2024-07-08 1:56 ` Zhang, Rui [this message]
2024-06-24 5:59 ` [PATCH v3 09/10] perf/x86/rapl: Remove the global variable rapl_msrs Dhananjay Ugwekar
2024-06-24 5:59 ` [PATCH v3 10/10] perf/x86/rapl: Add per-core energy counter support for AMD CPUs Dhananjay Ugwekar
2024-06-26 15:18 ` Zhang, Rui
2024-06-26 16:37 ` Dhananjay Ugwekar
2024-06-27 6:49 ` Zhang, Rui
2024-06-27 11:13 ` Dhananjay Ugwekar
2024-06-24 6:39 ` [PATCH v3 00/10] Add per-core RAPL " K Prateek Nayak
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=a3193f3801f91a42bf16d4eeafcbdc24cd6d2c75.camel@intel.com \
--to=rui.zhang@intel.com \
--cc=Dhananjay.Ugwekar@amd.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=ananth.narayan@amd.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=gautham.shenoy@amd.com \
--cc=gustavoars@kernel.org \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=kees@kernel.org \
--cc=kprateek.nayak@amd.com \
--cc=len.brown@intel.com \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=oleksandr@natalenko.name \
--cc=peterz@infradead.org \
--cc=ravi.bangoria@amd.com \
--cc=sandipan.das@amd.com \
--cc=tglx@linutronix.de \
--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;
as well as URLs for NNTP newsgroup(s).