* [PATCH] x86/perf_count: update x86_pmu after WARN
@ 2009-06-28 21:03 Yinghai Lu
2009-06-28 21:04 ` [PATCH] x86/perf_count: make perf_count_mask to local Yinghai Lu
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Yinghai Lu @ 2009-06-28 21:03 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel@vger.kernel.org
should print out before changing the value
[Impact: get right print when clipping num_conunters]
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
arch/x86/kernel/cpu/perf_counter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6/arch/x86/kernel/cpu/perf_counter.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/perf_counter.c
+++ linux-2.6/arch/x86/kernel/cpu/perf_counter.c
@@ -1496,17 +1496,17 @@ void __init init_hw_perf_counters(void)
pr_cont("%s PMU driver.\n", x86_pmu.name);
if (x86_pmu.num_counters > X86_PMC_MAX_GENERIC) {
- x86_pmu.num_counters = X86_PMC_MAX_GENERIC;
WARN(1, KERN_ERR "hw perf counters %d > max(%d), clipping!",
x86_pmu.num_counters, X86_PMC_MAX_GENERIC);
+ x86_pmu.num_counters = X86_PMC_MAX_GENERIC;
}
perf_counter_mask = (1 << x86_pmu.num_counters) - 1;
perf_max_counters = x86_pmu.num_counters;
if (x86_pmu.num_counters_fixed > X86_PMC_MAX_FIXED) {
- x86_pmu.num_counters_fixed = X86_PMC_MAX_FIXED;
WARN(1, KERN_ERR "hw perf counters fixed %d > max(%d), clipping!",
x86_pmu.num_counters_fixed, X86_PMC_MAX_FIXED);
+ x86_pmu.num_counters_fixed = X86_PMC_MAX_FIXED;
}
perf_counter_mask |=
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH] x86/perf_count: make perf_count_mask to local
2009-06-28 21:03 [PATCH] x86/perf_count: update x86_pmu after WARN Yinghai Lu
@ 2009-06-28 21:04 ` Yinghai Lu
2009-06-28 21:04 ` [PATCH] x86/perf_count: change intel_pmu and amd_pmu to initdata Yinghai Lu
2009-06-29 7:41 ` [RESEND PATCH] x86/perf_count: update x86_pmu after WARN Yinghai Lu
2 siblings, 0 replies; 5+ messages in thread
From: Yinghai Lu @ 2009-06-28 21:04 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel@vger.kernel.org
only used in init_hw_per_counters
[Impact: cleanup]
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
arch/x86/kernel/cpu/perf_counter.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Index: linux-2.6/arch/x86/kernel/cpu/perf_counter.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/perf_counter.c
+++ linux-2.6/arch/x86/kernel/cpu/perf_counter.c
@@ -25,8 +25,6 @@
#include <asm/stacktrace.h>
#include <asm/nmi.h>
-static u64 perf_counter_mask __read_mostly;
-
struct cpu_hw_counters {
struct perf_counter *counters[X86_PMC_IDX_MAX];
unsigned long used_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
@@ -1474,6 +1472,7 @@ static int amd_pmu_init(void)
void __init init_hw_perf_counters(void)
{
+ u64 perf_counter_mask;
int err;
pr_info("Performance Counters: ");
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH] x86/perf_count: change intel_pmu and amd_pmu to initdata
2009-06-28 21:03 [PATCH] x86/perf_count: update x86_pmu after WARN Yinghai Lu
2009-06-28 21:04 ` [PATCH] x86/perf_count: make perf_count_mask to local Yinghai Lu
@ 2009-06-28 21:04 ` Yinghai Lu
2009-06-29 7:41 ` [RESEND PATCH] x86/perf_count: update x86_pmu after WARN Yinghai Lu
2 siblings, 0 replies; 5+ messages in thread
From: Yinghai Lu @ 2009-06-28 21:04 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel@vger.kernel.org
it is assigned to x86_pmu aka copied to x86_pmu
so change it to __initdata
[Impact: cleanup]
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
arch/x86/kernel/cpu/perf_counter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6/arch/x86/kernel/cpu/perf_counter.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/perf_counter.c
+++ linux-2.6/arch/x86/kernel/cpu/perf_counter.c
@@ -1351,7 +1351,7 @@ static __read_mostly struct notifier_blo
.priority = 1
};
-static struct x86_pmu intel_pmu = {
+static __initdata struct x86_pmu intel_pmu = {
.name = "Intel",
.handle_irq = intel_pmu_handle_irq,
.disable_all = intel_pmu_disable_all,
@@ -1371,7 +1371,7 @@ static struct x86_pmu intel_pmu = {
.max_period = (1ULL << 31) - 1,
};
-static struct x86_pmu amd_pmu = {
+static __initdata struct x86_pmu amd_pmu = {
.name = "AMD",
.handle_irq = amd_pmu_handle_irq,
.disable_all = amd_pmu_disable_all,
^ permalink raw reply [flat|nested] 5+ messages in thread* [RESEND PATCH] x86/perf_count: update x86_pmu after WARN
2009-06-28 21:03 [PATCH] x86/perf_count: update x86_pmu after WARN Yinghai Lu
2009-06-28 21:04 ` [PATCH] x86/perf_count: make perf_count_mask to local Yinghai Lu
2009-06-28 21:04 ` [PATCH] x86/perf_count: change intel_pmu and amd_pmu to initdata Yinghai Lu
@ 2009-06-29 7:41 ` Yinghai Lu
2009-06-29 8:21 ` [tip:perfcounters/urgent] perf_counter, x86: Update x86_pmu after WARN() tip-bot for Yinghai Lu
2 siblings, 1 reply; 5+ messages in thread
From: Yinghai Lu @ 2009-06-29 7:41 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel@vger.kernel.org
should print out before changing the value
[Impact: get right print when clipping num_conunters]
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
arch/x86/kernel/cpu/perf_counter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6/arch/x86/kernel/cpu/perf_counter.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/perf_counter.c
+++ linux-2.6/arch/x86/kernel/cpu/perf_counter.c
@@ -1496,17 +1496,17 @@ void __init init_hw_perf_counters(void)
pr_cont("%s PMU driver.\n", x86_pmu.name);
if (x86_pmu.num_counters > X86_PMC_MAX_GENERIC) {
- x86_pmu.num_counters = X86_PMC_MAX_GENERIC;
WARN(1, KERN_ERR "hw perf counters %d > max(%d), clipping!",
x86_pmu.num_counters, X86_PMC_MAX_GENERIC);
+ x86_pmu.num_counters = X86_PMC_MAX_GENERIC;
}
perf_counter_mask = (1 << x86_pmu.num_counters) - 1;
perf_max_counters = x86_pmu.num_counters;
if (x86_pmu.num_counters_fixed > X86_PMC_MAX_FIXED) {
- x86_pmu.num_counters_fixed = X86_PMC_MAX_FIXED;
WARN(1, KERN_ERR "hw perf counters fixed %d > max(%d), clipping!",
x86_pmu.num_counters_fixed, X86_PMC_MAX_FIXED);
+ x86_pmu.num_counters_fixed = X86_PMC_MAX_FIXED;
}
perf_counter_mask |=
^ permalink raw reply [flat|nested] 5+ messages in thread* [tip:perfcounters/urgent] perf_counter, x86: Update x86_pmu after WARN()
2009-06-29 7:41 ` [RESEND PATCH] x86/perf_count: update x86_pmu after WARN Yinghai Lu
@ 2009-06-29 8:21 ` tip-bot for Yinghai Lu
0 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Yinghai Lu @ 2009-06-29 8:21 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, yinghai, a.p.zijlstra, tglx, mingo
Commit-ID: 4078c444cf667f018c3fc7ebf141131a2b7c9480
Gitweb: http://git.kernel.org/tip/4078c444cf667f018c3fc7ebf141131a2b7c9480
Author: Yinghai Lu <yinghai@kernel.org>
AuthorDate: Mon, 29 Jun 2009 00:41:11 -0700
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Mon, 29 Jun 2009 10:19:25 +0200
perf_counter, x86: Update x86_pmu after WARN()
The print out should read the value before changing the value.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <4A487017.4090007@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
arch/x86/kernel/cpu/perf_counter.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_counter.c b/arch/x86/kernel/cpu/perf_counter.c
index b83474b..d4cf4ce 100644
--- a/arch/x86/kernel/cpu/perf_counter.c
+++ b/arch/x86/kernel/cpu/perf_counter.c
@@ -1496,17 +1496,17 @@ void __init init_hw_perf_counters(void)
pr_cont("%s PMU driver.\n", x86_pmu.name);
if (x86_pmu.num_counters > X86_PMC_MAX_GENERIC) {
- x86_pmu.num_counters = X86_PMC_MAX_GENERIC;
WARN(1, KERN_ERR "hw perf counters %d > max(%d), clipping!",
x86_pmu.num_counters, X86_PMC_MAX_GENERIC);
+ x86_pmu.num_counters = X86_PMC_MAX_GENERIC;
}
perf_counter_mask = (1 << x86_pmu.num_counters) - 1;
perf_max_counters = x86_pmu.num_counters;
if (x86_pmu.num_counters_fixed > X86_PMC_MAX_FIXED) {
- x86_pmu.num_counters_fixed = X86_PMC_MAX_FIXED;
WARN(1, KERN_ERR "hw perf counters fixed %d > max(%d), clipping!",
x86_pmu.num_counters_fixed, X86_PMC_MAX_FIXED);
+ x86_pmu.num_counters_fixed = X86_PMC_MAX_FIXED;
}
perf_counter_mask |=
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-06-29 8:22 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-28 21:03 [PATCH] x86/perf_count: update x86_pmu after WARN Yinghai Lu
2009-06-28 21:04 ` [PATCH] x86/perf_count: make perf_count_mask to local Yinghai Lu
2009-06-28 21:04 ` [PATCH] x86/perf_count: change intel_pmu and amd_pmu to initdata Yinghai Lu
2009-06-29 7:41 ` [RESEND PATCH] x86/perf_count: update x86_pmu after WARN Yinghai Lu
2009-06-29 8:21 ` [tip:perfcounters/urgent] perf_counter, x86: Update x86_pmu after WARN() tip-bot for Yinghai Lu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.