All of lore.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: x86@kernel.org
Cc: linux-kernel@vger.kernel.org,
	Kan Liang <kan.liang@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Len Brown <len.brown@intel.com>
Subject: [PATCH 14/19] perf/x86/intel/rapl: Support multi-die/package
Date: Mon, 13 May 2019 13:58:58 -0400	[thread overview]
Message-ID: <851320c8c87ba7a54e58ee8579c1bf566ce23cbb.1557769318.git.len.brown@intel.com> (raw)
In-Reply-To: <7b23d2d26d717b8e14ba137c94b70943f1ae4b5c.1557769318.git.len.brown@intel.com>

From: Kan Liang <kan.liang@linux.intel.com>

RAPL becomes die-scope on Xeon Cascade Lake-AP. Perf RAPL driver needs
to support die-scope RAPL domain.

Use topology_logical_die_id() to replace topology_logical_package_id().
For previous platforms which doesn't have multi-die,
topology_logical_die_id() is identical as topology_logical_package_id().

Use topology_die_cpumask() to replace topology_core_cpumask().
For previous platforms which doesn't have multi-die,
topology_die_cpumask() is identical as topology_core_cpumask().

There is no functional change for previous platforms.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 arch/x86/events/intel/rapl.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/x86/events/intel/rapl.c b/arch/x86/events/intel/rapl.c
index 37ebf6fc5415..6f5331271563 100644
--- a/arch/x86/events/intel/rapl.c
+++ b/arch/x86/events/intel/rapl.c
@@ -161,7 +161,7 @@ static u64 rapl_timer_ms;
 
 static inline struct rapl_pmu *cpu_to_rapl_pmu(unsigned int cpu)
 {
-	unsigned int pkgid = topology_logical_package_id(cpu);
+	unsigned int pkgid = topology_logical_die_id(cpu);
 
 	/*
 	 * The unsigned check also catches the '-1' return value for non
@@ -571,7 +571,7 @@ static int rapl_cpu_offline(unsigned int cpu)
 
 	pmu->cpu = -1;
 	/* Find a new cpu to collect rapl events */
-	target = cpumask_any_but(topology_core_cpumask(cpu), cpu);
+	target = cpumask_any_but(topology_die_cpumask(cpu), cpu);
 
 	/* Migrate rapl events to the new target */
 	if (target < nr_cpu_ids) {
@@ -598,14 +598,14 @@ static int rapl_cpu_online(unsigned int cpu)
 		pmu->timer_interval = ms_to_ktime(rapl_timer_ms);
 		rapl_hrtimer_init(pmu);
 
-		rapl_pmus->pmus[topology_logical_package_id(cpu)] = pmu;
+		rapl_pmus->pmus[topology_logical_die_id(cpu)] = pmu;
 	}
 
 	/*
 	 * Check if there is an online cpu in the package which collects rapl
 	 * events already.
 	 */
-	target = cpumask_any_and(&rapl_cpu_mask, topology_core_cpumask(cpu));
+	target = cpumask_any_and(&rapl_cpu_mask, topology_die_cpumask(cpu));
 	if (target < nr_cpu_ids)
 		return 0;
 
@@ -675,7 +675,7 @@ static void cleanup_rapl_pmus(void)
 
 static int __init init_rapl_pmus(void)
 {
-	int maxpkg = topology_max_packages();
+	int maxpkg = topology_max_packages() * topology_max_die_per_package();
 	size_t size;
 
 	size = sizeof(*rapl_pmus) + maxpkg * sizeof(struct rapl_pmu *);
-- 
2.18.0-rc0


  parent reply	other threads:[~2019-05-13 17:59 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-13 17:58 [PATCH 0/19] v6 multi-die/package topology support Len Brown
2019-05-13 17:58 ` [PATCH 01/19] x86 topology: Add CPUID.1F multi-die/package support Len Brown
2019-05-13 17:58   ` [PATCH 02/19] x86 topology: Create topology_max_die_per_package() Len Brown
2019-05-23  9:23     ` [tip:x86/topology] x86/topology: " tip-bot for Len Brown
2019-05-13 17:58   ` [PATCH 03/19] cpu topology: Export die_id Len Brown
2019-05-23  9:24     ` [tip:x86/topology] cpu/topology: " tip-bot for Len Brown
2019-05-13 17:58   ` [PATCH 04/19] x86 topology: Define topology_die_id() Len Brown
2019-05-23  9:24     ` [tip:x86/topology] x86/topology: " tip-bot for Len Brown
2019-05-13 17:58   ` [PATCH 05/19] x86 topology: Define topology_logical_die_id() Len Brown
2019-05-23  9:25     ` [tip:x86/topology] x86/topology: " tip-bot for Len Brown
2019-05-13 17:58   ` [PATCH 06/19] powercap/intel_rapl: Simplify rapl_find_package() Len Brown
2019-05-23  9:26     ` [tip:x86/topology] " tip-bot for Zhang Rui
2019-05-13 17:58   ` [PATCH 07/19] powercap/intel_rapl: Support multi-die/package Len Brown
2019-05-23  9:26     ` [tip:x86/topology] " tip-bot for Zhang Rui
2019-05-13 17:58   ` [PATCH 08/19] thermal/x86_pkg_temp_thermal: " Len Brown
2019-05-23  9:27     ` [tip:x86/topology] " tip-bot for Zhang Rui
2019-05-13 17:58   ` [PATCH 09/19] powercap/intel_rapl: Update RAPL domain name and debug messages Len Brown
2019-05-23  9:28     ` [tip:x86/topology] " tip-bot for Zhang Rui
2019-05-13 17:58   ` [PATCH 10/19] hwmon/coretemp: Support multi-die/package Len Brown
2019-05-23  9:29     ` [tip:x86/topology] " tip-bot for Zhang Rui
2019-05-13 17:58   ` [PATCH 11/19] topology: Create package_cpus sysfs attribute Len Brown
2019-05-23  9:29     ` [tip:x86/topology] " tip-bot for Len Brown
2019-05-13 17:58   ` [PATCH 12/19] topology: Create core_cpus and die_cpus sysfs attributes Len Brown
2019-05-23  9:30     ` [tip:x86/topology] " tip-bot for Len Brown
2019-05-13 17:58   ` [PATCH 13/19] perf/x86/intel/uncore: Support multi-die/package Len Brown
2019-05-23  9:31     ` [tip:x86/topology] " tip-bot for Kan Liang
2019-05-13 17:58   ` Len Brown [this message]
2019-05-23  9:31     ` [tip:x86/topology] perf/x86/intel/rapl: " tip-bot for Kan Liang
2019-05-13 17:58   ` [PATCH 15/19] perf/x86/intel/cstate: " Len Brown
2019-05-23  9:32     ` [tip:x86/topology] " tip-bot for Kan Liang
2019-05-13 17:59   ` [PATCH 16/19] thermal/x86_pkg_temp_thermal: Cosmetic: Rename internal variables to zones from packages Len Brown
2019-05-23  9:33     ` [tip:x86/topology] " tip-bot for Len Brown
2019-05-13 17:59   ` [PATCH 17/19] hwmon/coretemp: " Len Brown
2019-05-23  9:34     ` [tip:x86/topology] " tip-bot for Len Brown
2019-05-13 17:59   ` [PATCH 18/19] perf/x86/intel/uncore: Cosmetic renames in response to multi-die/pkg support Len Brown
2019-05-23  9:34     ` [tip:x86/topology] " tip-bot for Kan Liang
2019-05-13 17:59   ` [PATCH 19/19] perf/x86/intel/rapl: Cosmetic rename internal variables " Len Brown
2019-05-23  9:35     ` [tip:x86/topology] " tip-bot for Kan Liang
2019-05-23  9:22   ` [tip:x86/topology] x86/topology: Add CPUID.1F multi-die/package support tip-bot for Len Brown
2019-05-15  8:55 ` [PATCH 0/19] v6 multi-die/package topology support Peter Zijlstra
2019-05-15 16:38   ` Ingo Molnar
2019-05-22 20:44 ` Ingo Molnar

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=851320c8c87ba7a54e58ee8579c1bf566ce23cbb.1557769318.git.len.brown@intel.com \
    --to=lenb@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --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.