Re: [PATCH v3 3/4] perf,x86: add Intel RAPL PMU support

From: Jiri Olsa
Date: Fri Oct 25 2013 - 07:14:54 EST


On Wed, Oct 23, 2013 at 02:58:04PM +0200, Stephane Eranian wrote:

SNIP

> + pmu = per_cpu(rapl_pmu, i);
> + if (pmu) {
> + per_cpu(rapl_pmu, cpu) = pmu;
> + atomic_inc(&pmu->refcnt);
> + }
> + continue;
> + }
> + rapl_cpu_prepare(cpu);
> + cpumask_set_cpu(cpu, &rapl_cpu_mask);
> + }
> +
> + perf_cpu_notifier(rapl_cpu_notifier);

hum, this should be rather called below only if we succeed
with the perf_pmu_register

> +
> + ret = perf_pmu_register(&rapl_pmu_class, "power", -1);
> + WARN_ON(ret);
> + if (!ret) {
> + pr_info("RAPL PMU detected, registration failed, RAPL PMU disabled\n");
> + put_online_cpus();
> + return -1;
> + }
> +
> + pmu = __get_cpu_var(rapl_pmu);
> +
> + pr_info("RAPL PMU detected, hw unit 2^-%d Joules,"
> + " API unit is 2^-32 Joules,"
> + " %d fixed counters\n",
> + pmu->hw_unit,
> + hweight32(rapl_cntr_mask));
> +
> + put_online_cpus();
> +
> + return 0;
> +}
> +device_initcall(rapl_pmu_init);
> --
> 1.7.9.5
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/