From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754508AbcB2LMY (ORCPT ); Mon, 29 Feb 2016 06:12:24 -0500 Received: from torg.zytor.com ([198.137.202.12]:53930 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753484AbcB2LMU (ORCPT ); Mon, 29 Feb 2016 06:12:20 -0500 Date: Mon, 29 Feb 2016 03:11:15 -0800 From: tip-bot for Thomas Gleixner Message-ID: Cc: eranian@google.com, jacob.jun.pan@linux.intel.com, kan.liang@intel.com, torvalds@linux-foundation.org, hpa@zytor.com, tglx@linutronix.de, jolsa@redhat.com, vincent.weaver@maine.edu, bp@alien8.de, harish.chegondi@intel.com, andi.kleen@intel.com, mingo@kernel.org, acme@redhat.com, linux-kernel@vger.kernel.org, peterz@infradead.org Reply-To: vincent.weaver@maine.edu, bp@alien8.de, harish.chegondi@intel.com, mingo@kernel.org, andi.kleen@intel.com, acme@redhat.com, peterz@infradead.org, linux-kernel@vger.kernel.org, eranian@google.com, jacob.jun.pan@linux.intel.com, kan.liang@intel.com, torvalds@linux-foundation.org, hpa@zytor.com, tglx@linutronix.de, jolsa@redhat.com In-Reply-To: <20160222221012.504551295@linutronix.de> References: <20160222221012.504551295@linutronix.de> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf/x86/intel/rapl: Clean up the printk output Git-Commit-ID: 512089d98457b7913d2e4762a44af52fbcd87470 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 512089d98457b7913d2e4762a44af52fbcd87470 Gitweb: http://git.kernel.org/tip/512089d98457b7913d2e4762a44af52fbcd87470 Author: Thomas Gleixner AuthorDate: Mon, 22 Feb 2016 22:19:23 +0000 Committer: Ingo Molnar CommitDate: Mon, 29 Feb 2016 09:35:23 +0100 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 Signed-off-by: Peter Zijlstra (Intel) Cc: Andi Kleen Cc: Arnaldo Carvalho de Melo Cc: Borislav Petkov Cc: Harish Chegondi Cc: Jacob Pan Cc: Jiri Olsa Cc: Kan Liang Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Vince Weaver Cc: linux-kernel@vger.kernel.org Link: http://lkml.kernel.org/r/20160222221012.504551295@linutronix.de Signed-off-by: Ingo Molnar --- arch/x86/events/intel/rapl.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/arch/x86/events/intel/rapl.c b/arch/x86/events/intel/rapl.c index b1d4a2f..f31e4b4 100644 --- a/arch/x86/events/intel/rapl.c +++ b/arch/x86/events/intel/rapl.c @@ -44,6 +44,9 @@ * the duration of the measurement. Tools may use a function such as * ldexp(raw_count, -32); */ + +#define pr_fmt(fmt) "RAPL PMU: " fmt + #include #include #include @@ -144,7 +147,7 @@ static inline u64 rapl_read_counter(struct perf_event *event) static inline u64 rapl_scale(u64 v, int cfg) { if (cfg > NR_RAPL_DOMAINS) { - pr_warn("invalid domain %d, failed to scale data\n", cfg); + pr_warn("Invalid domain %d, failed to scale data\n", cfg); return v; } /* @@ -680,6 +683,21 @@ static int rapl_check_hw_unit(void (*quirk)(void)) return 0; } +static void __init rapl_advertise(void) +{ + int i; + + pr_info("API unit is 2^-32 Joules, %d fixed counters, %llu ms ovfl timer\n", + hweight32(rapl_cntr_mask), rapl_timer_ms); + + for (i = 0; i < NR_RAPL_DOMAINS; i++) { + if (rapl_cntr_mask & (1 << i)) { + pr_info("hw unit of domain %s 2^-%d Joules\n", + rapl_domain_names[i], rapl_hw_unit[i]); + } + } +} + static void __init cleanup_rapl_pmus(void) { int cpu; @@ -696,7 +714,7 @@ static const struct x86_cpu_id rapl_cpu_match[] = { static int __init rapl_pmu_init(void) { void (*quirk)(void) = NULL; - int cpu, ret, i; + int cpu, ret; /* * check for Intel processor family 6 @@ -751,30 +769,16 @@ static int __init rapl_pmu_init(void) } ret = perf_pmu_register(&rapl_pmu_class, "power", -1); - if (WARN_ON(ret)) { - pr_info("RAPL PMU detected, registration failed (%d), RAPL PMU disabled\n", ret); + if (ret) goto out; - } __perf_cpu_notifier(rapl_cpu_notifier); cpu_notifier_register_done(); - - pr_info("RAPL PMU detected," - " API unit is 2^-32 Joules," - " %d fixed counters" - " %llu ms ovfl timer\n", - hweight32(rapl_cntr_mask), - rapl_timer_ms); - for (i = 0; i < NR_RAPL_DOMAINS; i++) { - if (rapl_cntr_mask & (1 << i)) { - pr_info("hw unit of domain %s 2^-%d Joules\n", - rapl_domain_names[i], rapl_hw_unit[i]); - } - } - + rapl_advertise(); return 0; out: + pr_warn("Initialization failed (%d), disabled\n", ret); cleanup_rapl_pmus(); cpu_notifier_register_done(); return ret;