* [PATCH 0/3] events/amd/uncore: Minor cleanups
@ 2017-04-10 12:20 Borislav Petkov
2017-04-10 12:20 ` [PATCH 1/3] events/amd/uncore: Do feature check first, before assignments Borislav Petkov
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Borislav Petkov @ 2017-04-10 12:20 UTC (permalink / raw)
To: X86 ML; +Cc: Peter Zijlstra, Suravee Suthikulpanit, LKML
From: Borislav Petkov <bp@suse.de>
Hi,
just a couple of minor cleanups which I came across while staring at code.
Borislav Petkov (3):
events/amd/uncore: Do feature check first, before assignments
events/amd/uncore: Cleanup per-family setup
events/amd/uncore: Fix pr_fmt prefix
arch/x86/events/amd/uncore.c | 77 ++++++++++++++++++--------------------------
1 file changed, 31 insertions(+), 46 deletions(-)
--
2.11.0
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 1/3] events/amd/uncore: Do feature check first, before assignments 2017-04-10 12:20 [PATCH 0/3] events/amd/uncore: Minor cleanups Borislav Petkov @ 2017-04-10 12:20 ` Borislav Petkov 2017-04-11 7:57 ` [tip:perf/core] perf/amd/uncore: " tip-bot for Borislav Petkov 2017-04-10 12:20 ` [PATCH 2/3] events/amd/uncore: Cleanup per-family setup Borislav Petkov 2017-04-10 12:20 ` [PATCH 3/3] events/amd/uncore: Fix pr_fmt prefix Borislav Petkov 2 siblings, 1 reply; 7+ messages in thread From: Borislav Petkov @ 2017-04-10 12:20 UTC (permalink / raw) To: X86 ML; +Cc: Peter Zijlstra, Suravee Suthikulpanit, LKML From: Borislav Petkov <bp@suse.de> ... and save some unnecessary work. Remove now unused label while at it. Signed-off-by: Borislav Petkov <bp@suse.de> --- arch/x86/events/amd/uncore.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c index 4d1f7f2d9aff..abd4b9064fba 100644 --- a/arch/x86/events/amd/uncore.c +++ b/arch/x86/events/amd/uncore.c @@ -509,7 +509,10 @@ static int __init amd_uncore_init(void) int ret = -ENODEV; if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) - goto fail_nodev; + return -ENODEV; + + if (!boot_cpu_has(X86_FEATURE_TOPOEXT)) + return -ENODEV; switch(boot_cpu_data.x86) { case 23: @@ -552,9 +555,6 @@ static int __init amd_uncore_init(void) amd_nb_pmu.attr_groups = amd_uncore_attr_groups_df; amd_llc_pmu.attr_groups = amd_uncore_attr_groups_l3; - if (!boot_cpu_has(X86_FEATURE_TOPOEXT)) - goto fail_nodev; - if (boot_cpu_has(X86_FEATURE_PERFCTR_NB)) { amd_uncore_nb = alloc_percpu(struct amd_uncore *); if (!amd_uncore_nb) { @@ -615,7 +615,6 @@ static int __init amd_uncore_init(void) if (amd_uncore_nb) free_percpu(amd_uncore_nb); -fail_nodev: return ret; } device_initcall(amd_uncore_init); -- 2.11.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [tip:perf/core] perf/amd/uncore: Do feature check first, before assignments 2017-04-10 12:20 ` [PATCH 1/3] events/amd/uncore: Do feature check first, before assignments Borislav Petkov @ 2017-04-11 7:57 ` tip-bot for Borislav Petkov 0 siblings, 0 replies; 7+ messages in thread From: tip-bot for Borislav Petkov @ 2017-04-11 7:57 UTC (permalink / raw) To: linux-tip-commits Cc: tglx, torvalds, jolsa, eranian, hpa, linux-kernel, acme, vincent.weaver, Suravee.Suthikulpanit, peterz, alexander.shishkin, bp, mingo Commit-ID: c2628f90c9964881a62dd8e9f7372ca05cb6fe32 Gitweb: http://git.kernel.org/tip/c2628f90c9964881a62dd8e9f7372ca05cb6fe32 Author: Borislav Petkov <bp@suse.de> AuthorDate: Mon, 10 Apr 2017 14:20:45 +0200 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Tue, 11 Apr 2017 08:44:59 +0200 perf/amd/uncore: Do feature check first, before assignments ... and save some unnecessary work. Remove now unused label while at it. Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Link: http://lkml.kernel.org/r/20170410122047.3026-2-bp@alien8.de Signed-off-by: Ingo Molnar <mingo@kernel.org> --- arch/x86/events/amd/uncore.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c index 4d1f7f2d..abd4b90 100644 --- a/arch/x86/events/amd/uncore.c +++ b/arch/x86/events/amd/uncore.c @@ -509,7 +509,10 @@ static int __init amd_uncore_init(void) int ret = -ENODEV; if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) - goto fail_nodev; + return -ENODEV; + + if (!boot_cpu_has(X86_FEATURE_TOPOEXT)) + return -ENODEV; switch(boot_cpu_data.x86) { case 23: @@ -552,9 +555,6 @@ static int __init amd_uncore_init(void) amd_nb_pmu.attr_groups = amd_uncore_attr_groups_df; amd_llc_pmu.attr_groups = amd_uncore_attr_groups_l3; - if (!boot_cpu_has(X86_FEATURE_TOPOEXT)) - goto fail_nodev; - if (boot_cpu_has(X86_FEATURE_PERFCTR_NB)) { amd_uncore_nb = alloc_percpu(struct amd_uncore *); if (!amd_uncore_nb) { @@ -615,7 +615,6 @@ fail_nb: if (amd_uncore_nb) free_percpu(amd_uncore_nb); -fail_nodev: return ret; } device_initcall(amd_uncore_init); ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/3] events/amd/uncore: Cleanup per-family setup 2017-04-10 12:20 [PATCH 0/3] events/amd/uncore: Minor cleanups Borislav Petkov 2017-04-10 12:20 ` [PATCH 1/3] events/amd/uncore: Do feature check first, before assignments Borislav Petkov @ 2017-04-10 12:20 ` Borislav Petkov 2017-04-11 7:57 ` [tip:perf/core] perf/amd/uncore: Clean up " tip-bot for Borislav Petkov 2017-04-10 12:20 ` [PATCH 3/3] events/amd/uncore: Fix pr_fmt prefix Borislav Petkov 2 siblings, 1 reply; 7+ messages in thread From: Borislav Petkov @ 2017-04-10 12:20 UTC (permalink / raw) To: X86 ML; +Cc: Peter Zijlstra, Suravee Suthikulpanit, LKML From: Borislav Petkov <bp@suse.de> Fam16h is the same as the default one, remove it. Turn the switch-case into a simple if-else. No functionality change. Signed-off-by: Borislav Petkov <bp@suse.de> --- arch/x86/events/amd/uncore.c | 59 ++++++++++++++++---------------------------- 1 file changed, 21 insertions(+), 38 deletions(-) diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c index abd4b9064fba..975f24f6e238 100644 --- a/arch/x86/events/amd/uncore.c +++ b/arch/x86/events/amd/uncore.c @@ -514,45 +514,28 @@ static int __init amd_uncore_init(void) if (!boot_cpu_has(X86_FEATURE_TOPOEXT)) return -ENODEV; - switch(boot_cpu_data.x86) { - case 23: - /* Family 17h: */ - num_counters_nb = NUM_COUNTERS_NB; - num_counters_llc = NUM_COUNTERS_L3; - /* - * For Family17h, the NorthBridge counters are - * re-purposed as Data Fabric counters. Also, support is - * added for L3 counters. The pmus are exported based on - * family as either L2 or L3 and NB or DF. - */ - amd_nb_pmu.name = "amd_df"; - amd_llc_pmu.name = "amd_l3"; - format_attr_event_df.show = &event_show_df; - format_attr_event_l3.show = &event_show_l3; - break; - case 22: - /* Family 16h - may change: */ - num_counters_nb = NUM_COUNTERS_NB; - num_counters_llc = NUM_COUNTERS_L2; - amd_nb_pmu.name = "amd_nb"; - amd_llc_pmu.name = "amd_l2"; - format_attr_event_df = format_attr_event; - format_attr_event_l3 = format_attr_event; - break; - default: - /* - * All prior families have the same number of - * NorthBridge and Last Level Cache counters - */ - num_counters_nb = NUM_COUNTERS_NB; - num_counters_llc = NUM_COUNTERS_L2; - amd_nb_pmu.name = "amd_nb"; - amd_llc_pmu.name = "amd_l2"; - format_attr_event_df = format_attr_event; - format_attr_event_l3 = format_attr_event; - break; + if (boot_cpu_data.x86 == 0x17) { + /* + * For F17h, the Northbridge counters are repurposed as Data + * Fabric counters. Also, L3 counters are supported too. The PMUs + * are exported based on family as either L2 or L3 and NB or DF. + */ + num_counters_nb = NUM_COUNTERS_NB; + num_counters_llc = NUM_COUNTERS_L3; + amd_nb_pmu.name = "amd_df"; + amd_llc_pmu.name = "amd_l3"; + format_attr_event_df.show = &event_show_df; + format_attr_event_l3.show = &event_show_l3; + } else { + num_counters_nb = NUM_COUNTERS_NB; + num_counters_llc = NUM_COUNTERS_L2; + amd_nb_pmu.name = "amd_nb"; + amd_llc_pmu.name = "amd_l2"; + format_attr_event_df = format_attr_event; + format_attr_event_l3 = format_attr_event; } - amd_nb_pmu.attr_groups = amd_uncore_attr_groups_df; + + amd_nb_pmu.attr_groups = amd_uncore_attr_groups_df; amd_llc_pmu.attr_groups = amd_uncore_attr_groups_l3; if (boot_cpu_has(X86_FEATURE_PERFCTR_NB)) { -- 2.11.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [tip:perf/core] perf/amd/uncore: Clean up per-family setup 2017-04-10 12:20 ` [PATCH 2/3] events/amd/uncore: Cleanup per-family setup Borislav Petkov @ 2017-04-11 7:57 ` tip-bot for Borislav Petkov 0 siblings, 0 replies; 7+ messages in thread From: tip-bot for Borislav Petkov @ 2017-04-11 7:57 UTC (permalink / raw) To: linux-tip-commits Cc: Suravee.Suthikulpanit, acme, torvalds, vincent.weaver, alexander.shishkin, linux-kernel, eranian, tglx, bp, jolsa, mingo, peterz, hpa Commit-ID: 68e8038048f44e7782079e79338506246393a876 Gitweb: http://git.kernel.org/tip/68e8038048f44e7782079e79338506246393a876 Author: Borislav Petkov <bp@suse.de> AuthorDate: Mon, 10 Apr 2017 14:20:46 +0200 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Tue, 11 Apr 2017 08:44:59 +0200 perf/amd/uncore: Clean up per-family setup Fam16h is the same as the default one, remove it. Turn the switch-case into a simple if-else. No functionality change. Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Link: http://lkml.kernel.org/r/20170410122047.3026-3-bp@alien8.de Signed-off-by: Ingo Molnar <mingo@kernel.org> --- arch/x86/events/amd/uncore.c | 59 ++++++++++++++++---------------------------- 1 file changed, 21 insertions(+), 38 deletions(-) diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c index abd4b90..975f24f 100644 --- a/arch/x86/events/amd/uncore.c +++ b/arch/x86/events/amd/uncore.c @@ -514,45 +514,28 @@ static int __init amd_uncore_init(void) if (!boot_cpu_has(X86_FEATURE_TOPOEXT)) return -ENODEV; - switch(boot_cpu_data.x86) { - case 23: - /* Family 17h: */ - num_counters_nb = NUM_COUNTERS_NB; - num_counters_llc = NUM_COUNTERS_L3; - /* - * For Family17h, the NorthBridge counters are - * re-purposed as Data Fabric counters. Also, support is - * added for L3 counters. The pmus are exported based on - * family as either L2 or L3 and NB or DF. - */ - amd_nb_pmu.name = "amd_df"; - amd_llc_pmu.name = "amd_l3"; - format_attr_event_df.show = &event_show_df; - format_attr_event_l3.show = &event_show_l3; - break; - case 22: - /* Family 16h - may change: */ - num_counters_nb = NUM_COUNTERS_NB; - num_counters_llc = NUM_COUNTERS_L2; - amd_nb_pmu.name = "amd_nb"; - amd_llc_pmu.name = "amd_l2"; - format_attr_event_df = format_attr_event; - format_attr_event_l3 = format_attr_event; - break; - default: - /* - * All prior families have the same number of - * NorthBridge and Last Level Cache counters - */ - num_counters_nb = NUM_COUNTERS_NB; - num_counters_llc = NUM_COUNTERS_L2; - amd_nb_pmu.name = "amd_nb"; - amd_llc_pmu.name = "amd_l2"; - format_attr_event_df = format_attr_event; - format_attr_event_l3 = format_attr_event; - break; + if (boot_cpu_data.x86 == 0x17) { + /* + * For F17h, the Northbridge counters are repurposed as Data + * Fabric counters. Also, L3 counters are supported too. The PMUs + * are exported based on family as either L2 or L3 and NB or DF. + */ + num_counters_nb = NUM_COUNTERS_NB; + num_counters_llc = NUM_COUNTERS_L3; + amd_nb_pmu.name = "amd_df"; + amd_llc_pmu.name = "amd_l3"; + format_attr_event_df.show = &event_show_df; + format_attr_event_l3.show = &event_show_l3; + } else { + num_counters_nb = NUM_COUNTERS_NB; + num_counters_llc = NUM_COUNTERS_L2; + amd_nb_pmu.name = "amd_nb"; + amd_llc_pmu.name = "amd_l2"; + format_attr_event_df = format_attr_event; + format_attr_event_l3 = format_attr_event; } - amd_nb_pmu.attr_groups = amd_uncore_attr_groups_df; + + amd_nb_pmu.attr_groups = amd_uncore_attr_groups_df; amd_llc_pmu.attr_groups = amd_uncore_attr_groups_l3; if (boot_cpu_has(X86_FEATURE_PERFCTR_NB)) { ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/3] events/amd/uncore: Fix pr_fmt prefix 2017-04-10 12:20 [PATCH 0/3] events/amd/uncore: Minor cleanups Borislav Petkov 2017-04-10 12:20 ` [PATCH 1/3] events/amd/uncore: Do feature check first, before assignments Borislav Petkov 2017-04-10 12:20 ` [PATCH 2/3] events/amd/uncore: Cleanup per-family setup Borislav Petkov @ 2017-04-10 12:20 ` Borislav Petkov 2017-04-11 7:58 ` [tip:perf/core] perf/amd/uncore: Fix pr_fmt() prefix tip-bot for Borislav Petkov 2 siblings, 1 reply; 7+ messages in thread From: Borislav Petkov @ 2017-04-10 12:20 UTC (permalink / raw) To: X86 ML; +Cc: Peter Zijlstra, Suravee Suthikulpanit, LKML From: Borislav Petkov <bp@suse.de> Make it "amd_uncore: ", i.e., something more specific than "perf: ". Signed-off-by: Borislav Petkov <bp@suse.de> --- arch/x86/events/amd/uncore.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c index 975f24f6e238..ad44af0dd667 100644 --- a/arch/x86/events/amd/uncore.c +++ b/arch/x86/events/amd/uncore.c @@ -30,6 +30,9 @@ #define COUNTER_SHIFT 16 +#undef pr_fmt +#define pr_fmt(fmt) "amd_uncore: " fmt + static int num_counters_llc; static int num_counters_nb; @@ -548,7 +551,7 @@ static int __init amd_uncore_init(void) if (ret) goto fail_nb; - pr_info("perf: AMD NB counters detected\n"); + pr_info("AMD NB counters detected\n"); ret = 0; } @@ -562,7 +565,7 @@ static int __init amd_uncore_init(void) if (ret) goto fail_llc; - pr_info("perf: AMD LLC counters detected\n"); + pr_info("AMD LLC counters detected\n"); ret = 0; } -- 2.11.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [tip:perf/core] perf/amd/uncore: Fix pr_fmt() prefix 2017-04-10 12:20 ` [PATCH 3/3] events/amd/uncore: Fix pr_fmt prefix Borislav Petkov @ 2017-04-11 7:58 ` tip-bot for Borislav Petkov 0 siblings, 0 replies; 7+ messages in thread From: tip-bot for Borislav Petkov @ 2017-04-11 7:58 UTC (permalink / raw) To: linux-tip-commits Cc: bp, torvalds, eranian, Suravee.Suthikulpanit, hpa, vincent.weaver, alexander.shishkin, acme, mingo, linux-kernel, peterz, tglx, jolsa Commit-ID: 9df9078ef2086652647248ee6e82ca8f661cb3f5 Gitweb: http://git.kernel.org/tip/9df9078ef2086652647248ee6e82ca8f661cb3f5 Author: Borislav Petkov <bp@suse.de> AuthorDate: Mon, 10 Apr 2017 14:20:47 +0200 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Tue, 11 Apr 2017 08:44:59 +0200 perf/amd/uncore: Fix pr_fmt() prefix Make it "perf/amd/uncore: ", i.e., something more specific than "perf: ". Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Link: http://lkml.kernel.org/r/20170410122047.3026-4-bp@alien8.de [ Changed it to perf/amd/uncore/ ] Signed-off-by: Ingo Molnar <mingo@kernel.org> --- arch/x86/events/amd/uncore.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c index 975f24f..ad44af0 100644 --- a/arch/x86/events/amd/uncore.c +++ b/arch/x86/events/amd/uncore.c @@ -30,6 +30,9 @@ #define COUNTER_SHIFT 16 +#undef pr_fmt +#define pr_fmt(fmt) "amd_uncore: " fmt + static int num_counters_llc; static int num_counters_nb; @@ -548,7 +551,7 @@ static int __init amd_uncore_init(void) if (ret) goto fail_nb; - pr_info("perf: AMD NB counters detected\n"); + pr_info("AMD NB counters detected\n"); ret = 0; } @@ -562,7 +565,7 @@ static int __init amd_uncore_init(void) if (ret) goto fail_llc; - pr_info("perf: AMD LLC counters detected\n"); + pr_info("AMD LLC counters detected\n"); ret = 0; } ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-04-11 8:09 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-04-10 12:20 [PATCH 0/3] events/amd/uncore: Minor cleanups Borislav Petkov 2017-04-10 12:20 ` [PATCH 1/3] events/amd/uncore: Do feature check first, before assignments Borislav Petkov 2017-04-11 7:57 ` [tip:perf/core] perf/amd/uncore: " tip-bot for Borislav Petkov 2017-04-10 12:20 ` [PATCH 2/3] events/amd/uncore: Cleanup per-family setup Borislav Petkov 2017-04-11 7:57 ` [tip:perf/core] perf/amd/uncore: Clean up " tip-bot for Borislav Petkov 2017-04-10 12:20 ` [PATCH 3/3] events/amd/uncore: Fix pr_fmt prefix Borislav Petkov 2017-04-11 7:58 ` [tip:perf/core] perf/amd/uncore: Fix pr_fmt() prefix tip-bot for Borislav Petkov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®