mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/4] perf/core: some small patches
@ 2010-03-17 11:49 Robert Richter
  2010-03-17 11:49 ` [PATCH 1/4] perf/core, x86: reduce number of CONFIG_X86_LOCAL_APIC macros Robert Richter
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Robert Richter @ 2010-03-17 11:49 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, Stephane Eranian, LKML

This patch series includes some changes I found useful when reviewing
and working with the code. Nothing exciting.

-Robert



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/4] perf/core, x86: reduce number of CONFIG_X86_LOCAL_APIC macros
  2010-03-17 11:49 [PATCH 0/4] perf/core: some small patches Robert Richter
@ 2010-03-17 11:49 ` Robert Richter
  2010-03-17 12:09   ` [tip:perf/core] perf/core, x86: Reduce " tip-bot for Robert Richter
  2010-03-17 11:49 ` [PATCH 2/4] perf/core: correct files in MAINTAINERS entry Robert Richter
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Robert Richter @ 2010-03-17 11:49 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, Stephane Eranian, LKML, Robert Richter

The function reserve_pmc_hardware() and release_pmc_hardware() were
hard to read. This patch improves readablity of the code by removing
most of the CONFIG_X86_LOCAL_APIC macros.

Signed-off-by: Robert Richter <robert.richter@amd.com>
---
 arch/x86/kernel/cpu/perf_event.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 5dacf63..793e63f 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -313,9 +313,10 @@ again:
 static atomic_t active_events;
 static DEFINE_MUTEX(pmc_reserve_mutex);
 
+#ifdef CONFIG_X86_LOCAL_APIC
+
 static bool reserve_pmc_hardware(void)
 {
-#ifdef CONFIG_X86_LOCAL_APIC
 	int i;
 
 	if (nmi_watchdog == NMI_LOCAL_APIC)
@@ -330,11 +331,9 @@ static bool reserve_pmc_hardware(void)
 		if (!reserve_evntsel_nmi(x86_pmu.eventsel + i))
 			goto eventsel_fail;
 	}
-#endif
 
 	return true;
 
-#ifdef CONFIG_X86_LOCAL_APIC
 eventsel_fail:
 	for (i--; i >= 0; i--)
 		release_evntsel_nmi(x86_pmu.eventsel + i);
@@ -349,12 +348,10 @@ perfctr_fail:
 		enable_lapic_nmi_watchdog();
 
 	return false;
-#endif
 }
 
 static void release_pmc_hardware(void)
 {
-#ifdef CONFIG_X86_LOCAL_APIC
 	int i;
 
 	for (i = 0; i < x86_pmu.num_events; i++) {
@@ -364,9 +361,15 @@ static void release_pmc_hardware(void)
 
 	if (nmi_watchdog == NMI_LOCAL_APIC)
 		enable_lapic_nmi_watchdog();
-#endif
 }
 
+#else
+
+static bool reserve_pmc_hardware(void) { return true; }
+static void release_pmc_hardware(void) {}
+
+#endif
+
 static int reserve_ds_buffers(void);
 static void release_ds_buffers(void);
 
-- 
1.7.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 2/4] perf/core: correct files in MAINTAINERS entry
  2010-03-17 11:49 [PATCH 0/4] perf/core: some small patches Robert Richter
  2010-03-17 11:49 ` [PATCH 1/4] perf/core, x86: reduce number of CONFIG_X86_LOCAL_APIC macros Robert Richter
@ 2010-03-17 11:49 ` Robert Richter
  2010-03-17 12:09   ` [tip:perf/core] perf/core: Correct " tip-bot for Robert Richter
  2010-03-17 11:49 ` [PATCH 3/4] perf/core, x86: remove cpu_hw_events.interrupts Robert Richter
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Robert Richter @ 2010-03-17 11:49 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, Stephane Eranian, LKML, Robert Richter

This corrects the file entries for perf_events. The following files
are catched now:

 $ xargs | eval ls $(cat) | sort -u
 kernel/perf_event*.c
 include/linux/perf_event.h
 arch/*/kernel/perf_event*.c
 arch/*/kernel/*/perf_event*.c
 arch/*/kernel/*/*/perf_event*.c
 arch/*/include/asm/perf_event.h
 arch/*/lib/perf_event*.c
 arch/*/kernel/perf_callchain.c

 arch/alpha/include/asm/perf_event.h
 arch/arm/include/asm/perf_event.h
 arch/arm/kernel/perf_event.c
 arch/frv/include/asm/perf_event.h
 arch/frv/lib/perf_event.c
 arch/parisc/include/asm/perf_event.h
 arch/powerpc/include/asm/perf_event.h
 arch/powerpc/kernel/perf_callchain.c
 arch/powerpc/kernel/perf_event.c
 arch/s390/include/asm/perf_event.h
 arch/sh/include/asm/perf_event.h
 arch/sh/kernel/cpu/sh4a/perf_event.c
 arch/sh/kernel/cpu/sh4/perf_event.c
 arch/sh/kernel/perf_callchain.c
 arch/sh/kernel/perf_event.c
 arch/sparc/include/asm/perf_event.h
 arch/sparc/kernel/perf_event.c
 arch/x86/include/asm/perf_event.h
 arch/x86/kernel/cpu/perf_event_amd.c
 arch/x86/kernel/cpu/perf_event.c
 arch/x86/kernel/cpu/perf_event_intel.c
 arch/x86/kernel/cpu/perf_event_p6.c
 include/linux/perf_event.h
 kernel/perf_event.c

Signed-off-by: Robert Richter <robert.richter@amd.com>
---
 MAINTAINERS |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 14d5c4c..e3aa850 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4295,13 +4295,13 @@ M:	Paul Mackerras <paulus@samba.org>
 M:	Ingo Molnar <mingo@elte.hu>
 M:	Arnaldo Carvalho de Melo <acme@redhat.com>
 S:	Supported
-F:	kernel/perf_event.c
+F:	kernel/perf_event*.c
 F:	include/linux/perf_event.h
-F:	arch/*/kernel/perf_event.c
-F:	arch/*/kernel/*/perf_event.c
-F:	arch/*/kernel/*/*/perf_event.c
+F:	arch/*/kernel/perf_event*.c
+F:	arch/*/kernel/*/perf_event*.c
+F:	arch/*/kernel/*/*/perf_event*.c
 F:	arch/*/include/asm/perf_event.h
-F:	arch/*/lib/perf_event.c
+F:	arch/*/lib/perf_event*.c
 F:	arch/*/kernel/perf_callchain.c
 F:	tools/perf/
 
-- 
1.7.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 3/4] perf/core, x86: remove cpu_hw_events.interrupts
  2010-03-17 11:49 [PATCH 0/4] perf/core: some small patches Robert Richter
  2010-03-17 11:49 ` [PATCH 1/4] perf/core, x86: reduce number of CONFIG_X86_LOCAL_APIC macros Robert Richter
  2010-03-17 11:49 ` [PATCH 2/4] perf/core: correct files in MAINTAINERS entry Robert Richter
@ 2010-03-17 11:49 ` Robert Richter
  2010-03-17 12:10   ` [tip:perf/core] perf/core, x86: Remove cpu_hw_events.interrupts tip-bot for Robert Richter
  2010-03-17 11:49 ` [PATCH 4/4] perf/core, x86: remove duplicate perf_event_mask variable Robert Richter
  2010-03-17 12:09 ` [PATCH 0/4] perf/core: some small patches Ingo Molnar
  4 siblings, 1 reply; 10+ messages in thread
From: Robert Richter @ 2010-03-17 11:49 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, Stephane Eranian, LKML, Robert Richter

This member in the struct is not used anymore and can be removed.

Signed-off-by: Robert Richter <robert.richter@amd.com>
---
 arch/x86/kernel/cpu/perf_event.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 793e63f..104292a 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -102,7 +102,6 @@ struct cpu_hw_events {
 	 */
 	struct perf_event	*events[X86_PMC_IDX_MAX]; /* in counter order */
 	unsigned long		active_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
-	unsigned long		interrupts;
 	int			enabled;
 
 	int			n_events;
-- 
1.7.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 4/4] perf/core, x86: remove duplicate perf_event_mask variable
  2010-03-17 11:49 [PATCH 0/4] perf/core: some small patches Robert Richter
                   ` (2 preceding siblings ...)
  2010-03-17 11:49 ` [PATCH 3/4] perf/core, x86: remove cpu_hw_events.interrupts Robert Richter
@ 2010-03-17 11:49 ` Robert Richter
  2010-03-17 12:10   ` [tip:perf/core] perf/core, x86: Remove " tip-bot for Robert Richter
  2010-03-17 12:09 ` [PATCH 0/4] perf/core: some small patches Ingo Molnar
  4 siblings, 1 reply; 10+ messages in thread
From: Robert Richter @ 2010-03-17 11:49 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, Stephane Eranian, LKML, Robert Richter

The same information is stored also in x86_pmu.intel_ctrl. This patch
removes perf_event_mask and instead uses x86_pmu.intel_ctrl directly.

Signed-off-by: Robert Richter <robert.richter@amd.com>
---
 arch/x86/kernel/cpu/perf_event.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 104292a..c97d5b5 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -75,8 +75,6 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n)
 	return len;
 }
 
-static u64 perf_event_mask __read_mostly;
-
 struct event_constraint {
 	union {
 		unsigned long	idxmsk[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
@@ -1406,7 +1404,7 @@ void __init init_hw_perf_events(void)
 		     x86_pmu.num_events, X86_PMC_MAX_GENERIC);
 		x86_pmu.num_events = X86_PMC_MAX_GENERIC;
 	}
-	perf_event_mask = (1 << x86_pmu.num_events) - 1;
+	x86_pmu.intel_ctrl = (1 << x86_pmu.num_events) - 1;
 	perf_max_events = x86_pmu.num_events;
 
 	if (x86_pmu.num_events_fixed > X86_PMC_MAX_FIXED) {
@@ -1415,9 +1413,8 @@ void __init init_hw_perf_events(void)
 		x86_pmu.num_events_fixed = X86_PMC_MAX_FIXED;
 	}
 
-	perf_event_mask |=
+	x86_pmu.intel_ctrl |=
 		((1LL << x86_pmu.num_events_fixed)-1) << X86_PMC_IDX_FIXED;
-	x86_pmu.intel_ctrl = perf_event_mask;
 
 	perf_events_lapic_init();
 	register_die_notifier(&perf_event_nmi_notifier);
@@ -1442,7 +1439,7 @@ void __init init_hw_perf_events(void)
 	pr_info("... value mask:             %016Lx\n", x86_pmu.event_mask);
 	pr_info("... max period:             %016Lx\n", x86_pmu.max_period);
 	pr_info("... fixed-purpose events:   %d\n",     x86_pmu.num_events_fixed);
-	pr_info("... event mask:             %016Lx\n", perf_event_mask);
+	pr_info("... event mask:             %016Lx\n", x86_pmu.intel_ctrl);
 
 	perf_cpu_notifier(x86_pmu_notifier);
 }
-- 
1.7.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [tip:perf/core] perf/core, x86: Reduce number of CONFIG_X86_LOCAL_APIC macros
  2010-03-17 11:49 ` [PATCH 1/4] perf/core, x86: reduce number of CONFIG_X86_LOCAL_APIC macros Robert Richter
@ 2010-03-17 12:09   ` tip-bot for Robert Richter
  0 siblings, 0 replies; 10+ messages in thread
From: tip-bot for Robert Richter @ 2010-03-17 12:09 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, eranian, hpa, mingo, robert.richter, a.p.zijlstra,
	tglx, mingo

Commit-ID:  b27ea29c6267889be255f2217fa7a6106e6a8b04
Gitweb:     http://git.kernel.org/tip/b27ea29c6267889be255f2217fa7a6106e6a8b04
Author:     Robert Richter <robert.richter@amd.com>
AuthorDate: Wed, 17 Mar 2010 12:49:10 +0100
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Wed, 17 Mar 2010 13:06:58 +0100

perf/core, x86: Reduce number of CONFIG_X86_LOCAL_APIC macros

The function reserve_pmc_hardware() and release_pmc_hardware()
were hard to read. This patch improves readability of the code by
removing most of the CONFIG_X86_LOCAL_APIC macros.

Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1268826553-19518-2-git-send-email-robert.richter@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 arch/x86/kernel/cpu/perf_event.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 5dacf63..793e63f 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -313,9 +313,10 @@ again:
 static atomic_t active_events;
 static DEFINE_MUTEX(pmc_reserve_mutex);
 
+#ifdef CONFIG_X86_LOCAL_APIC
+
 static bool reserve_pmc_hardware(void)
 {
-#ifdef CONFIG_X86_LOCAL_APIC
 	int i;
 
 	if (nmi_watchdog == NMI_LOCAL_APIC)
@@ -330,11 +331,9 @@ static bool reserve_pmc_hardware(void)
 		if (!reserve_evntsel_nmi(x86_pmu.eventsel + i))
 			goto eventsel_fail;
 	}
-#endif
 
 	return true;
 
-#ifdef CONFIG_X86_LOCAL_APIC
 eventsel_fail:
 	for (i--; i >= 0; i--)
 		release_evntsel_nmi(x86_pmu.eventsel + i);
@@ -349,12 +348,10 @@ perfctr_fail:
 		enable_lapic_nmi_watchdog();
 
 	return false;
-#endif
 }
 
 static void release_pmc_hardware(void)
 {
-#ifdef CONFIG_X86_LOCAL_APIC
 	int i;
 
 	for (i = 0; i < x86_pmu.num_events; i++) {
@@ -364,9 +361,15 @@ static void release_pmc_hardware(void)
 
 	if (nmi_watchdog == NMI_LOCAL_APIC)
 		enable_lapic_nmi_watchdog();
-#endif
 }
 
+#else
+
+static bool reserve_pmc_hardware(void) { return true; }
+static void release_pmc_hardware(void) {}
+
+#endif
+
 static int reserve_ds_buffers(void);
 static void release_ds_buffers(void);
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/4] perf/core: some small patches
  2010-03-17 11:49 [PATCH 0/4] perf/core: some small patches Robert Richter
                   ` (3 preceding siblings ...)
  2010-03-17 11:49 ` [PATCH 4/4] perf/core, x86: remove duplicate perf_event_mask variable Robert Richter
@ 2010-03-17 12:09 ` Ingo Molnar
  4 siblings, 0 replies; 10+ messages in thread
From: Ingo Molnar @ 2010-03-17 12:09 UTC (permalink / raw)
  To: Robert Richter; +Cc: Peter Zijlstra, Stephane Eranian, LKML


* Robert Richter <robert.richter@amd.com> wrote:

> This patch series includes some changes I found useful when reviewing and 
> working with the code. Nothing exciting.

Applied, thanks Robert!

	Ingo

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [tip:perf/core] perf/core: Correct files in MAINTAINERS entry
  2010-03-17 11:49 ` [PATCH 2/4] perf/core: correct files in MAINTAINERS entry Robert Richter
@ 2010-03-17 12:09   ` tip-bot for Robert Richter
  0 siblings, 0 replies; 10+ messages in thread
From: tip-bot for Robert Richter @ 2010-03-17 12:09 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, eranian, hpa, mingo, robert.richter, a.p.zijlstra,
	tglx, mingo

Commit-ID:  141c4296cb630a7ed4c3730913bc3c0617ef9753
Gitweb:     http://git.kernel.org/tip/141c4296cb630a7ed4c3730913bc3c0617ef9753
Author:     Robert Richter <robert.richter@amd.com>
AuthorDate: Wed, 17 Mar 2010 12:49:11 +0100
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Wed, 17 Mar 2010 13:06:58 +0100

perf/core: Correct files in MAINTAINERS entry

This corrects the file entries for perf_events. The following
files are caught now:

 $ xargs | eval ls $(cat) | sort -u
 kernel/perf_event*.c
 include/linux/perf_event.h
 arch/*/kernel/perf_event*.c
 arch/*/kernel/*/perf_event*.c
 arch/*/kernel/*/*/perf_event*.c
 arch/*/include/asm/perf_event.h
 arch/*/lib/perf_event*.c
 arch/*/kernel/perf_callchain.c

 arch/alpha/include/asm/perf_event.h
 arch/arm/include/asm/perf_event.h
 arch/arm/kernel/perf_event.c
 arch/frv/include/asm/perf_event.h
 arch/frv/lib/perf_event.c
 arch/parisc/include/asm/perf_event.h
 arch/powerpc/include/asm/perf_event.h
 arch/powerpc/kernel/perf_callchain.c
 arch/powerpc/kernel/perf_event.c
 arch/s390/include/asm/perf_event.h
 arch/sh/include/asm/perf_event.h
 arch/sh/kernel/cpu/sh4a/perf_event.c
 arch/sh/kernel/cpu/sh4/perf_event.c
 arch/sh/kernel/perf_callchain.c
 arch/sh/kernel/perf_event.c
 arch/sparc/include/asm/perf_event.h
 arch/sparc/kernel/perf_event.c
 arch/x86/include/asm/perf_event.h
 arch/x86/kernel/cpu/perf_event_amd.c
 arch/x86/kernel/cpu/perf_event.c
 arch/x86/kernel/cpu/perf_event_intel.c
 arch/x86/kernel/cpu/perf_event_p6.c
 include/linux/perf_event.h
 kernel/perf_event.c

Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1268826553-19518-3-git-send-email-robert.richter@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 MAINTAINERS |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 14d5c4c..e3aa850 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4295,13 +4295,13 @@ M:	Paul Mackerras <paulus@samba.org>
 M:	Ingo Molnar <mingo@elte.hu>
 M:	Arnaldo Carvalho de Melo <acme@redhat.com>
 S:	Supported
-F:	kernel/perf_event.c
+F:	kernel/perf_event*.c
 F:	include/linux/perf_event.h
-F:	arch/*/kernel/perf_event.c
-F:	arch/*/kernel/*/perf_event.c
-F:	arch/*/kernel/*/*/perf_event.c
+F:	arch/*/kernel/perf_event*.c
+F:	arch/*/kernel/*/perf_event*.c
+F:	arch/*/kernel/*/*/perf_event*.c
 F:	arch/*/include/asm/perf_event.h
-F:	arch/*/lib/perf_event.c
+F:	arch/*/lib/perf_event*.c
 F:	arch/*/kernel/perf_callchain.c
 F:	tools/perf/
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [tip:perf/core] perf/core, x86: Remove cpu_hw_events.interrupts
  2010-03-17 11:49 ` [PATCH 3/4] perf/core, x86: remove cpu_hw_events.interrupts Robert Richter
@ 2010-03-17 12:10   ` tip-bot for Robert Richter
  0 siblings, 0 replies; 10+ messages in thread
From: tip-bot for Robert Richter @ 2010-03-17 12:10 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, eranian, hpa, mingo, robert.richter, a.p.zijlstra,
	tglx, mingo

Commit-ID:  10f1014d86fd4fe5087080d609b51183396c5e4c
Gitweb:     http://git.kernel.org/tip/10f1014d86fd4fe5087080d609b51183396c5e4c
Author:     Robert Richter <robert.richter@amd.com>
AuthorDate: Wed, 17 Mar 2010 12:49:12 +0100
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Wed, 17 Mar 2010 13:06:59 +0100

perf/core, x86: Remove cpu_hw_events.interrupts

This member in the struct is not used anymore and can be
removed.

Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1268826553-19518-4-git-send-email-robert.richter@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 arch/x86/kernel/cpu/perf_event.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 793e63f..104292a 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -102,7 +102,6 @@ struct cpu_hw_events {
 	 */
 	struct perf_event	*events[X86_PMC_IDX_MAX]; /* in counter order */
 	unsigned long		active_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
-	unsigned long		interrupts;
 	int			enabled;
 
 	int			n_events;

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [tip:perf/core] perf/core, x86: Remove duplicate perf_event_mask variable
  2010-03-17 11:49 ` [PATCH 4/4] perf/core, x86: remove duplicate perf_event_mask variable Robert Richter
@ 2010-03-17 12:10   ` tip-bot for Robert Richter
  0 siblings, 0 replies; 10+ messages in thread
From: tip-bot for Robert Richter @ 2010-03-17 12:10 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, eranian, hpa, mingo, robert.richter, a.p.zijlstra,
	tglx, mingo

Commit-ID:  d6dc0b4ead6e8720096ecfa3d9e899b47ddbc8ed
Gitweb:     http://git.kernel.org/tip/d6dc0b4ead6e8720096ecfa3d9e899b47ddbc8ed
Author:     Robert Richter <robert.richter@amd.com>
AuthorDate: Wed, 17 Mar 2010 12:49:13 +0100
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Wed, 17 Mar 2010 13:06:59 +0100

perf/core, x86: Remove duplicate perf_event_mask variable

The same information is stored also in x86_pmu.intel_ctrl. This
patch removes perf_event_mask and instead uses
x86_pmu.intel_ctrl directly.

Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1268826553-19518-5-git-send-email-robert.richter@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 arch/x86/kernel/cpu/perf_event.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 104292a..c97d5b5 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -75,8 +75,6 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n)
 	return len;
 }
 
-static u64 perf_event_mask __read_mostly;
-
 struct event_constraint {
 	union {
 		unsigned long	idxmsk[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
@@ -1406,7 +1404,7 @@ void __init init_hw_perf_events(void)
 		     x86_pmu.num_events, X86_PMC_MAX_GENERIC);
 		x86_pmu.num_events = X86_PMC_MAX_GENERIC;
 	}
-	perf_event_mask = (1 << x86_pmu.num_events) - 1;
+	x86_pmu.intel_ctrl = (1 << x86_pmu.num_events) - 1;
 	perf_max_events = x86_pmu.num_events;
 
 	if (x86_pmu.num_events_fixed > X86_PMC_MAX_FIXED) {
@@ -1415,9 +1413,8 @@ void __init init_hw_perf_events(void)
 		x86_pmu.num_events_fixed = X86_PMC_MAX_FIXED;
 	}
 
-	perf_event_mask |=
+	x86_pmu.intel_ctrl |=
 		((1LL << x86_pmu.num_events_fixed)-1) << X86_PMC_IDX_FIXED;
-	x86_pmu.intel_ctrl = perf_event_mask;
 
 	perf_events_lapic_init();
 	register_die_notifier(&perf_event_nmi_notifier);
@@ -1442,7 +1439,7 @@ void __init init_hw_perf_events(void)
 	pr_info("... value mask:             %016Lx\n", x86_pmu.event_mask);
 	pr_info("... max period:             %016Lx\n", x86_pmu.max_period);
 	pr_info("... fixed-purpose events:   %d\n",     x86_pmu.num_events_fixed);
-	pr_info("... event mask:             %016Lx\n", perf_event_mask);
+	pr_info("... event mask:             %016Lx\n", x86_pmu.intel_ctrl);
 
 	perf_cpu_notifier(x86_pmu_notifier);
 }

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2010-03-17 12:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-17 11:49 [PATCH 0/4] perf/core: some small patches Robert Richter
2010-03-17 11:49 ` [PATCH 1/4] perf/core, x86: reduce number of CONFIG_X86_LOCAL_APIC macros Robert Richter
2010-03-17 12:09   ` [tip:perf/core] perf/core, x86: Reduce " tip-bot for Robert Richter
2010-03-17 11:49 ` [PATCH 2/4] perf/core: correct files in MAINTAINERS entry Robert Richter
2010-03-17 12:09   ` [tip:perf/core] perf/core: Correct " tip-bot for Robert Richter
2010-03-17 11:49 ` [PATCH 3/4] perf/core, x86: remove cpu_hw_events.interrupts Robert Richter
2010-03-17 12:10   ` [tip:perf/core] perf/core, x86: Remove cpu_hw_events.interrupts tip-bot for Robert Richter
2010-03-17 11:49 ` [PATCH 4/4] perf/core, x86: remove duplicate perf_event_mask variable Robert Richter
2010-03-17 12:10   ` [tip:perf/core] perf/core, x86: Remove " tip-bot for Robert Richter
2010-03-17 12:09 ` [PATCH 0/4] perf/core: some small patches Ingo Molnar

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®