aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2016-02-22 17:19:23 -0500
committerIngo Molnar <mingo@kernel.org>2016-02-29 03:35:23 -0500
commit512089d98457b7913d2e4762a44af52fbcd87470 (patch)
tree218c00574cee19381dbf50a8bebf62300e841ef3
parent75c7003fbf419f05215d4ca09bf3964d0b1c99e9 (diff)
perf/x86/intel/rapl: Clean up the printk output
The output is inconsistent. Use a proper pr_fmt prefix and split out the advertisement into a seperate function. Remove the WARN_ON() in the failure case. It's pointless as we already know where it failed. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Andi Kleen <andi.kleen@intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Harish Chegondi <harish.chegondi@intel.com> Cc: Jacob Pan <jacob.jun.pan@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Kan Liang <kan.liang@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: linux-kernel@vger.kernel.org Link: http://lkml.kernel.org/r/20160222221012.504551295@linutronix.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--arch/x86/events/intel/rapl.c42
1 files changed, 23 insertions, 19 deletions
diff --git a/arch/x86/events/intel/rapl.c b/arch/x86/events/intel/rapl.c
index b1d4a2f1feeb..f31e4b417adf 100644
--- a/arch/x86/events/intel/rapl.c
+++ b/arch/x86/events/intel/rapl.c
@@ -44,6 +44,9 @@
44 * the duration of the measurement. Tools may use a function such as 44 * the duration of the measurement. Tools may use a function such as
45 * ldexp(raw_count, -32); 45 * ldexp(raw_count, -32);
46 */ 46 */
47
48#define pr_fmt(fmt) "RAPL PMU: " fmt
49
47#include <linux/module.h> 50#include <linux/module.h>
48#include <linux/slab.h> 51#include <linux/slab.h>
49#include <linux/perf_event.h> 52#include <linux/perf_event.h>
@@ -144,7 +147,7 @@ static inline u64 rapl_read_counter(struct perf_event *event)
144static inline u64 rapl_scale(u64 v, int cfg) 147static inline u64 rapl_scale(u64 v, int cfg)
145{ 148{
146 if (cfg > NR_RAPL_DOMAINS) { 149 if (cfg > NR_RAPL_DOMAINS) {
147 pr_warn("invalid domain %d, failed to scale data\n", cfg); 150 pr_warn("Invalid domain %d, failed to scale data\n", cfg);
148 return v; 151 return v;
149 } 152 }
150 /* 153 /*
@@ -680,6 +683,21 @@ static int rapl_check_hw_unit(void (*quirk)(void))
680 return 0; 683 return 0;
681} 684}
682 685
686static void __init rapl_advertise(void)
687{
688 int i;
689
690 pr_info("API unit is 2^-32 Joules, %d fixed counters, %llu ms ovfl timer\n",
691 hweight32(rapl_cntr_mask), rapl_timer_ms);
692
693 for (i = 0; i < NR_RAPL_DOMAINS; i++) {
694 if (rapl_cntr_mask & (1 << i)) {
695 pr_info("hw unit of domain %s 2^-%d Joules\n",
696 rapl_domain_names[i], rapl_hw_unit[i]);
697 }
698 }
699}
700
683static void __init cleanup_rapl_pmus(void) 701static void __init cleanup_rapl_pmus(void)
684{ 702{
685 int cpu; 703 int cpu;
@@ -696,7 +714,7 @@ static const struct x86_cpu_id rapl_cpu_match[] = {
696static int __init rapl_pmu_init(void) 714static int __init rapl_pmu_init(void)
697{ 715{
698 void (*quirk)(void) = NULL; 716 void (*quirk)(void) = NULL;
699 int cpu, ret, i; 717 int cpu, ret;
700 718
701 /* 719 /*
702 * check for Intel processor family 6 720 * check for Intel processor family 6
@@ -751,30 +769,16 @@ static int __init rapl_pmu_init(void)
751 } 769 }
752 770
753 ret = perf_pmu_register(&rapl_pmu_class, "power", -1); 771 ret = perf_pmu_register(&rapl_pmu_class, "power", -1);
754 if (WARN_ON(ret)) { 772 if (ret)
755 pr_info("RAPL PMU detected, registration failed (%d), RAPL PMU disabled\n", ret);
756 goto out; 773 goto out;
757 }
758 774
759 __perf_cpu_notifier(rapl_cpu_notifier); 775 __perf_cpu_notifier(rapl_cpu_notifier);
760 cpu_notifier_register_done(); 776 cpu_notifier_register_done();
761 777 rapl_advertise();
762 pr_info("RAPL PMU detected,"
763 " API unit is 2^-32 Joules,"
764 " %d fixed counters"
765 " %llu ms ovfl timer\n",
766 hweight32(rapl_cntr_mask),
767 rapl_timer_ms);
768 for (i = 0; i < NR_RAPL_DOMAINS; i++) {
769 if (rapl_cntr_mask & (1 << i)) {
770 pr_info("hw unit of domain %s 2^-%d Joules\n",
771 rapl_domain_names[i], rapl_hw_unit[i]);
772 }
773 }
774
775 return 0; 778 return 0;
776 779
777out: 780out:
781 pr_warn("Initialization failed (%d), disabled\n", ret);
778 cleanup_rapl_pmus(); 782 cleanup_rapl_pmus();
779 cpu_notifier_register_done(); 783 cpu_notifier_register_done();
780 return ret; 784 return ret;