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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to