Merge branch 'x86/topology' into perf/core, to prepare for new patches
[sfrench/cifs-2.6.git] / arch / x86 / events / intel / rapl.c
index 26c03f5adfb92f2ed5386efe552f7ca2c0548e6d..8c7ecde3ba70077d090397bc3993c650ab9281e1 100644 (file)
@@ -149,7 +149,7 @@ struct rapl_pmu {
 
 struct rapl_pmus {
        struct pmu              pmu;
-       unsigned int            maxpkg;
+       unsigned int            maxdie;
        struct rapl_pmu         *pmus[];
 };
 
@@ -162,13 +162,13 @@ 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 dieid = topology_logical_die_id(cpu);
 
        /*
         * The unsigned check also catches the '-1' return value for non
         * existent mappings in the topology map.
         */
-       return pkgid < rapl_pmus->maxpkg ? rapl_pmus->pmus[pkgid] : NULL;
+       return dieid < rapl_pmus->maxdie ? rapl_pmus->pmus[dieid] : NULL;
 }
 
 static inline u64 rapl_read_counter(struct perf_event *event)
@@ -572,7 +572,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) {
@@ -599,14 +599,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;
 
@@ -669,22 +669,22 @@ static void cleanup_rapl_pmus(void)
 {
        int i;
 
-       for (i = 0; i < rapl_pmus->maxpkg; i++)
+       for (i = 0; i < rapl_pmus->maxdie; i++)
                kfree(rapl_pmus->pmus[i]);
        kfree(rapl_pmus);
 }
 
 static int __init init_rapl_pmus(void)
 {
-       int maxpkg = topology_max_packages();
+       int maxdie = topology_max_packages() * topology_max_die_per_package();
        size_t size;
 
-       size = sizeof(*rapl_pmus) + maxpkg * sizeof(struct rapl_pmu *);
+       size = sizeof(*rapl_pmus) + maxdie * sizeof(struct rapl_pmu *);
        rapl_pmus = kzalloc(size, GFP_KERNEL);
        if (!rapl_pmus)
                return -ENOMEM;
 
-       rapl_pmus->maxpkg               = maxpkg;
+       rapl_pmus->maxdie               = maxdie;
        rapl_pmus->pmu.attr_groups      = rapl_attr_groups;
        rapl_pmus->pmu.task_ctx_nr      = perf_invalid_context;
        rapl_pmus->pmu.event_init       = rapl_pmu_event_init;