All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: Robert Richter <robert.richter@amd.com>
Cc: Will Deacon <will.deacon@arm.com>,
	Paul Mundt <lethal@linux-sh.org>,
	Russell King <linux@arm.linux.org.uk>,
	linux-arm-kernel@lists.infradead.org, linux-sh@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@elte.hu>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	Deng-Cheng Zhu <dengcheng.zhu@gmail.com>,
	Grant Likely <grant.likely@secretlab.ca>
Subject: [PATCH 2/7] perf: New helper function for pmu name
Date: Mon, 04 Oct 2010 20:44:20 +0000	[thread overview]
Message-ID: <59a8e68894a2e755232189abbe9b1a3b892e309c.1286222593.git.matt@console-pimps.org> (raw)
In-Reply-To: <cover.1286222593.git.matt@console-pimps.org>

Introduce perf_pmu_name() helper function that returns the name of the
pmu. This gives us a generic way to get the name of a pmu regardless of
how an architecture identifies it internally, e.g. ARM uses an id
whereas SH currently uses a string.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
---
 arch/arm/kernel/perf_event.c |   23 +++++++++++++++++++++++
 arch/arm/oprofile/common.c   |   22 +---------------------
 arch/sh/kernel/perf_event.c  |   14 ++++++++++++++
 include/linux/perf_event.h   |    1 +
 kernel/perf_event.c          |    5 +++++
 5 files changed, 44 insertions(+), 21 deletions(-)

diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
index ef3bc33..3bff24d 100644
--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -123,6 +123,29 @@ armpmu_get_max_events(void)
 }
 EXPORT_SYMBOL_GPL(armpmu_get_max_events);
 
+const char *perf_pmu_name(void)
+{
+	enum arm_perf_pmu_ids id = armpmu_get_pmu_id();
+
+	switch (id) {
+	case ARM_PERF_PMU_ID_XSCALE1:
+		return "arm/xscale1";
+	case ARM_PERF_PMU_ID_XSCALE2:
+		return "arm/xscale2";
+	case ARM_PERF_PMU_ID_V6:
+		return "arm/armv6";
+	case ARM_PERF_PMU_ID_V6MP:
+		return "arm/mpcore";
+	case ARM_PERF_PMU_ID_CA8:
+		return "arm/armv7";
+	case ARM_PERF_PMU_ID_CA9:
+		return "arm/armv7-ca9";
+	default:
+		return NULL;
+	}
+}
+EXPORT_SYMBOL_GPL(perf_pmu_name);
+
 int perf_num_counters(void)
 {
 	return armpmu_get_max_events();
diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
index 23f18a0..cb224ee 100644
--- a/arch/arm/oprofile/common.c
+++ b/arch/arm/oprofile/common.c
@@ -155,26 +155,6 @@ static void op_perf_stop(void)
 }
 
 
-static char *op_name_from_perf_id(enum arm_perf_pmu_ids id)
-{
-	switch (id) {
-	case ARM_PERF_PMU_ID_XSCALE1:
-		return "arm/xscale1";
-	case ARM_PERF_PMU_ID_XSCALE2:
-		return "arm/xscale2";
-	case ARM_PERF_PMU_ID_V6:
-		return "arm/armv6";
-	case ARM_PERF_PMU_ID_V6MP:
-		return "arm/mpcore";
-	case ARM_PERF_PMU_ID_CA8:
-		return "arm/armv7";
-	case ARM_PERF_PMU_ID_CA9:
-		return "arm/armv7-ca9";
-	default:
-		return NULL;
-	}
-}
-
 static int op_arm_create_files(struct super_block *sb, struct dentry *root)
 {
 	unsigned int i;
@@ -391,7 +371,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
 	ops->start		= op_arm_start;
 	ops->stop		= op_arm_stop;
 	ops->shutdown		= op_arm_stop;
-	ops->cpu_type		= op_name_from_perf_id(armpmu_get_pmu_id());
+	ops->cpu_type		= perf_pmu_name();
 
 	if (!ops->cpu_type)
 		ret = -ENODEV;
diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c
index 2cb9ad5..e065a1d 100644
--- a/arch/sh/kernel/perf_event.c
+++ b/arch/sh/kernel/perf_event.c
@@ -59,6 +59,20 @@ static inline int sh_pmu_initialized(void)
 	return !!sh_pmu;
 }
 
+const char *perf_pmu_name(void)
+{
+	if (!sh_pmu)
+		return NULL;
+
+	if (!strcmp(sh_pmu->name, "SH7750"))
+		return "sh/sh7750";
+	if (!strcmp(sh_pmu->name, "SH-4A"))
+		return "sh/sh4a";
+
+	return NULL;
+}
+EXPORT_SYMBOL_GPL(perf_pmu_name);
+
 int perf_num_counters(void)
 {
 	if (!sh_pmu)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 1a02192..33f08da 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -850,6 +850,7 @@ extern int perf_max_events;
 extern const struct pmu *hw_perf_event_init(struct perf_event *event);
 
 extern int perf_num_counters(void);
+extern const char *perf_pmu_name(void);
 extern void perf_event_task_sched_in(struct task_struct *task);
 extern void perf_event_task_sched_out(struct task_struct *task, struct task_struct *next);
 extern void perf_event_task_tick(struct task_struct *task);
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index db5b560..fc51268 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -85,6 +85,11 @@ void __weak hw_perf_enable(void)		{ barrier(); }
 
 void __weak perf_event_print_debug(void)	{ }
 
+extern __weak const char *perf_pmu_name(void)
+{
+	return "pmu";
+}
+
 static DEFINE_PER_CPU(int, perf_disable_count);
 
 void perf_disable(void)
-- 
1.7.1


WARNING: multiple messages have this Message-ID (diff)
From: Matt Fleming <matt@console-pimps.org>
To: Robert Richter <robert.richter@amd.com>
Cc: Will Deacon <will.deacon@arm.com>,
	Paul Mundt <lethal@linux-sh.org>,
	Russell King <linux@arm.linux.org.uk>,
	linux-arm-kernel@lists.infradead.org, linux-sh@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@elte.hu>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	Deng-Cheng Zhu <dengcheng.zhu@gmail.com>,
	Grant Likely <grant.likely@secretlab.ca>
Subject: [PATCH 2/7] perf: New helper function for pmu name
Date: Mon,  4 Oct 2010 21:44:20 +0100	[thread overview]
Message-ID: <59a8e68894a2e755232189abbe9b1a3b892e309c.1286222593.git.matt@console-pimps.org> (raw)
In-Reply-To: <cover.1286222593.git.matt@console-pimps.org>
In-Reply-To: <cover.1286222593.git.matt@console-pimps.org>

Introduce perf_pmu_name() helper function that returns the name of the
pmu. This gives us a generic way to get the name of a pmu regardless of
how an architecture identifies it internally, e.g. ARM uses an id
whereas SH currently uses a string.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
---
 arch/arm/kernel/perf_event.c |   23 +++++++++++++++++++++++
 arch/arm/oprofile/common.c   |   22 +---------------------
 arch/sh/kernel/perf_event.c  |   14 ++++++++++++++
 include/linux/perf_event.h   |    1 +
 kernel/perf_event.c          |    5 +++++
 5 files changed, 44 insertions(+), 21 deletions(-)

diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
index ef3bc33..3bff24d 100644
--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -123,6 +123,29 @@ armpmu_get_max_events(void)
 }
 EXPORT_SYMBOL_GPL(armpmu_get_max_events);
 
+const char *perf_pmu_name(void)
+{
+	enum arm_perf_pmu_ids id = armpmu_get_pmu_id();
+
+	switch (id) {
+	case ARM_PERF_PMU_ID_XSCALE1:
+		return "arm/xscale1";
+	case ARM_PERF_PMU_ID_XSCALE2:
+		return "arm/xscale2";
+	case ARM_PERF_PMU_ID_V6:
+		return "arm/armv6";
+	case ARM_PERF_PMU_ID_V6MP:
+		return "arm/mpcore";
+	case ARM_PERF_PMU_ID_CA8:
+		return "arm/armv7";
+	case ARM_PERF_PMU_ID_CA9:
+		return "arm/armv7-ca9";
+	default:
+		return NULL;
+	}
+}
+EXPORT_SYMBOL_GPL(perf_pmu_name);
+
 int perf_num_counters(void)
 {
 	return armpmu_get_max_events();
diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
index 23f18a0..cb224ee 100644
--- a/arch/arm/oprofile/common.c
+++ b/arch/arm/oprofile/common.c
@@ -155,26 +155,6 @@ static void op_perf_stop(void)
 }
 
 
-static char *op_name_from_perf_id(enum arm_perf_pmu_ids id)
-{
-	switch (id) {
-	case ARM_PERF_PMU_ID_XSCALE1:
-		return "arm/xscale1";
-	case ARM_PERF_PMU_ID_XSCALE2:
-		return "arm/xscale2";
-	case ARM_PERF_PMU_ID_V6:
-		return "arm/armv6";
-	case ARM_PERF_PMU_ID_V6MP:
-		return "arm/mpcore";
-	case ARM_PERF_PMU_ID_CA8:
-		return "arm/armv7";
-	case ARM_PERF_PMU_ID_CA9:
-		return "arm/armv7-ca9";
-	default:
-		return NULL;
-	}
-}
-
 static int op_arm_create_files(struct super_block *sb, struct dentry *root)
 {
 	unsigned int i;
@@ -391,7 +371,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
 	ops->start		= op_arm_start;
 	ops->stop		= op_arm_stop;
 	ops->shutdown		= op_arm_stop;
-	ops->cpu_type		= op_name_from_perf_id(armpmu_get_pmu_id());
+	ops->cpu_type		= perf_pmu_name();
 
 	if (!ops->cpu_type)
 		ret = -ENODEV;
diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c
index 2cb9ad5..e065a1d 100644
--- a/arch/sh/kernel/perf_event.c
+++ b/arch/sh/kernel/perf_event.c
@@ -59,6 +59,20 @@ static inline int sh_pmu_initialized(void)
 	return !!sh_pmu;
 }
 
+const char *perf_pmu_name(void)
+{
+	if (!sh_pmu)
+		return NULL;
+
+	if (!strcmp(sh_pmu->name, "SH7750"))
+		return "sh/sh7750";
+	if (!strcmp(sh_pmu->name, "SH-4A"))
+		return "sh/sh4a";
+
+	return NULL;
+}
+EXPORT_SYMBOL_GPL(perf_pmu_name);
+
 int perf_num_counters(void)
 {
 	if (!sh_pmu)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 1a02192..33f08da 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -850,6 +850,7 @@ extern int perf_max_events;
 extern const struct pmu *hw_perf_event_init(struct perf_event *event);
 
 extern int perf_num_counters(void);
+extern const char *perf_pmu_name(void);
 extern void perf_event_task_sched_in(struct task_struct *task);
 extern void perf_event_task_sched_out(struct task_struct *task, struct task_struct *next);
 extern void perf_event_task_tick(struct task_struct *task);
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index db5b560..fc51268 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -85,6 +85,11 @@ void __weak hw_perf_enable(void)		{ barrier(); }
 
 void __weak perf_event_print_debug(void)	{ }
 
+extern __weak const char *perf_pmu_name(void)
+{
+	return "pmu";
+}
+
 static DEFINE_PER_CPU(int, perf_disable_count);
 
 void perf_disable(void)
-- 
1.7.1


WARNING: multiple messages have this Message-ID (diff)
From: matt@console-pimps.org (Matt Fleming)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/7] perf: New helper function for pmu name
Date: Mon,  4 Oct 2010 21:44:20 +0100	[thread overview]
Message-ID: <59a8e68894a2e755232189abbe9b1a3b892e309c.1286222593.git.matt@console-pimps.org> (raw)
In-Reply-To: <cover.1286222593.git.matt@console-pimps.org>

Introduce perf_pmu_name() helper function that returns the name of the
pmu. This gives us a generic way to get the name of a pmu regardless of
how an architecture identifies it internally, e.g. ARM uses an id
whereas SH currently uses a string.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
---
 arch/arm/kernel/perf_event.c |   23 +++++++++++++++++++++++
 arch/arm/oprofile/common.c   |   22 +---------------------
 arch/sh/kernel/perf_event.c  |   14 ++++++++++++++
 include/linux/perf_event.h   |    1 +
 kernel/perf_event.c          |    5 +++++
 5 files changed, 44 insertions(+), 21 deletions(-)

diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
index ef3bc33..3bff24d 100644
--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -123,6 +123,29 @@ armpmu_get_max_events(void)
 }
 EXPORT_SYMBOL_GPL(armpmu_get_max_events);
 
+const char *perf_pmu_name(void)
+{
+	enum arm_perf_pmu_ids id = armpmu_get_pmu_id();
+
+	switch (id) {
+	case ARM_PERF_PMU_ID_XSCALE1:
+		return "arm/xscale1";
+	case ARM_PERF_PMU_ID_XSCALE2:
+		return "arm/xscale2";
+	case ARM_PERF_PMU_ID_V6:
+		return "arm/armv6";
+	case ARM_PERF_PMU_ID_V6MP:
+		return "arm/mpcore";
+	case ARM_PERF_PMU_ID_CA8:
+		return "arm/armv7";
+	case ARM_PERF_PMU_ID_CA9:
+		return "arm/armv7-ca9";
+	default:
+		return NULL;
+	}
+}
+EXPORT_SYMBOL_GPL(perf_pmu_name);
+
 int perf_num_counters(void)
 {
 	return armpmu_get_max_events();
diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
index 23f18a0..cb224ee 100644
--- a/arch/arm/oprofile/common.c
+++ b/arch/arm/oprofile/common.c
@@ -155,26 +155,6 @@ static void op_perf_stop(void)
 }
 
 
-static char *op_name_from_perf_id(enum arm_perf_pmu_ids id)
-{
-	switch (id) {
-	case ARM_PERF_PMU_ID_XSCALE1:
-		return "arm/xscale1";
-	case ARM_PERF_PMU_ID_XSCALE2:
-		return "arm/xscale2";
-	case ARM_PERF_PMU_ID_V6:
-		return "arm/armv6";
-	case ARM_PERF_PMU_ID_V6MP:
-		return "arm/mpcore";
-	case ARM_PERF_PMU_ID_CA8:
-		return "arm/armv7";
-	case ARM_PERF_PMU_ID_CA9:
-		return "arm/armv7-ca9";
-	default:
-		return NULL;
-	}
-}
-
 static int op_arm_create_files(struct super_block *sb, struct dentry *root)
 {
 	unsigned int i;
@@ -391,7 +371,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
 	ops->start		= op_arm_start;
 	ops->stop		= op_arm_stop;
 	ops->shutdown		= op_arm_stop;
-	ops->cpu_type		= op_name_from_perf_id(armpmu_get_pmu_id());
+	ops->cpu_type		= perf_pmu_name();
 
 	if (!ops->cpu_type)
 		ret = -ENODEV;
diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c
index 2cb9ad5..e065a1d 100644
--- a/arch/sh/kernel/perf_event.c
+++ b/arch/sh/kernel/perf_event.c
@@ -59,6 +59,20 @@ static inline int sh_pmu_initialized(void)
 	return !!sh_pmu;
 }
 
+const char *perf_pmu_name(void)
+{
+	if (!sh_pmu)
+		return NULL;
+
+	if (!strcmp(sh_pmu->name, "SH7750"))
+		return "sh/sh7750";
+	if (!strcmp(sh_pmu->name, "SH-4A"))
+		return "sh/sh4a";
+
+	return NULL;
+}
+EXPORT_SYMBOL_GPL(perf_pmu_name);
+
 int perf_num_counters(void)
 {
 	if (!sh_pmu)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 1a02192..33f08da 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -850,6 +850,7 @@ extern int perf_max_events;
 extern const struct pmu *hw_perf_event_init(struct perf_event *event);
 
 extern int perf_num_counters(void);
+extern const char *perf_pmu_name(void);
 extern void perf_event_task_sched_in(struct task_struct *task);
 extern void perf_event_task_sched_out(struct task_struct *task, struct task_struct *next);
 extern void perf_event_task_tick(struct task_struct *task);
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index db5b560..fc51268 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -85,6 +85,11 @@ void __weak hw_perf_enable(void)		{ barrier(); }
 
 void __weak perf_event_print_debug(void)	{ }
 
+extern __weak const char *perf_pmu_name(void)
+{
+	return "pmu";
+}
+
 static DEFINE_PER_CPU(int, perf_disable_count);
 
 void perf_disable(void)
-- 
1.7.1

  parent reply	other threads:[~2010-10-04 20:44 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-04 20:44 [PATCH V4 0/7] Generalise ARM perf-events backend for oprofile Matt Fleming
2010-10-04 20:44 ` Matt Fleming
2010-10-04 20:44 ` Matt Fleming
2010-10-04 20:44 ` [PATCH 1/7] perf: Add helper function to return number of counters Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-05  8:15   ` Paul Mundt
2010-10-05  8:15     ` Paul Mundt
2010-10-05  8:15     ` Paul Mundt
2010-10-06 12:14   ` [PATCH 1/7] perf: Add helper function to return number of Robert Richter
2010-10-06 12:14     ` [PATCH 1/7] perf: Add helper function to return number of counters Robert Richter
2010-10-06 12:14     ` Robert Richter
2010-10-06 12:14     ` Robert Richter
2010-10-06 12:14     ` Robert Richter
2010-10-06 12:35     ` [PATCH 1/7] perf: Add helper function to return number of Robert Richter
2010-10-06 12:35       ` [PATCH 1/7] perf: Add helper function to return number of counters Robert Richter
2010-10-06 12:35       ` Robert Richter
2010-10-06 12:35       ` Robert Richter
2010-10-06 13:41     ` [PATCH 1/7] perf: Add helper function to return number of Peter Zijlstra
2010-10-06 13:41       ` [PATCH 1/7] perf: Add helper function to return number of counters Peter Zijlstra
2010-10-06 13:41       ` Peter Zijlstra
2010-10-06 13:41       ` Peter Zijlstra
2010-10-04 20:44 ` Matt Fleming [this message]
2010-10-04 20:44   ` [PATCH 2/7] perf: New helper function for pmu name Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-05  8:10   ` Paul Mundt
2010-10-05  8:10     ` Paul Mundt
2010-10-05  8:10     ` Paul Mundt
2010-10-05  8:10     ` Paul Mundt
2010-10-06 12:27   ` Robert Richter
2010-10-06 12:27     ` Robert Richter
2010-10-06 12:27     ` Robert Richter
2010-10-06 12:27     ` Robert Richter
2010-10-06 12:39     ` Paul Mundt
2010-10-06 12:39       ` Paul Mundt
2010-10-06 12:39       ` Paul Mundt
2010-10-06 12:39       ` Paul Mundt
2010-10-06 13:18       ` Robert Richter
2010-10-06 13:18         ` Robert Richter
2010-10-06 13:18         ` Robert Richter
2010-10-06 13:18         ` Robert Richter
2010-10-06 13:30         ` Paul Mundt
2010-10-06 13:30           ` Paul Mundt
2010-10-06 13:30           ` Paul Mundt
2010-10-06 13:30           ` Paul Mundt
2010-10-06 14:13           ` Paul Mundt
2010-10-06 14:13             ` Paul Mundt
2010-10-06 14:13             ` Paul Mundt
2010-10-06 14:13             ` Paul Mundt
2010-10-06 15:37             ` Robert Richter
2010-10-06 15:37               ` Robert Richter
2010-10-06 15:37               ` Robert Richter
2010-10-06 15:37               ` Robert Richter
2010-10-06 15:46               ` Paul Mundt
2010-10-06 15:46                 ` Paul Mundt
2010-10-06 15:46                 ` Paul Mundt
2010-10-06 15:46                 ` Paul Mundt
2010-10-06 15:50           ` Robert Richter
2010-10-06 15:50             ` Robert Richter
2010-10-06 15:50             ` Robert Richter
2010-10-06 15:50             ` Robert Richter
2010-10-06 15:57             ` Paul Mundt
2010-10-06 15:57               ` Paul Mundt
2010-10-06 15:57               ` Paul Mundt
2010-10-06 15:57               ` Paul Mundt
2010-10-06 18:15   ` Robert Richter
2010-10-06 18:15     ` Robert Richter
2010-10-06 18:15     ` Robert Richter
2010-10-06 18:15     ` Robert Richter
2010-10-06 18:15     ` Robert Richter
2010-10-06 18:38     ` Paul Mundt
2010-10-06 18:38       ` Paul Mundt
2010-10-06 18:38       ` Paul Mundt
2010-10-06 18:38       ` Paul Mundt
2010-10-04 20:44 ` [PATCH 3/7] ARM: oprofile: Rename op_arm to oprofile_perf Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-06 12:41   ` Robert Richter
2010-10-06 12:41     ` Robert Richter
2010-10-06 12:41     ` Robert Richter
2010-10-06 12:41     ` Robert Richter
2010-10-04 20:44 ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate init/exit Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-06 13:33   ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate Robert Richter
2010-10-06 13:33     ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate init/exit Robert Richter
2010-10-06 13:33     ` Robert Richter
2010-10-06 13:33     ` Robert Richter
2010-10-06 13:41     ` Paul Mundt
2010-10-06 13:41       ` Paul Mundt
2010-10-06 13:41       ` Paul Mundt
2010-10-06 13:41       ` Paul Mundt
2010-10-06 14:49     ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate Robert Richter
2010-10-06 14:49       ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate init/exit Robert Richter
2010-10-06 14:49       ` Robert Richter
2010-10-06 14:49       ` Robert Richter
2010-10-06 14:53       ` Paul Mundt
2010-10-06 14:53         ` Paul Mundt
2010-10-06 14:53         ` Paul Mundt
2010-10-06 14:53         ` Paul Mundt
2010-10-06 14:59         ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate Robert Richter
2010-10-06 14:59           ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate init/exit Robert Richter
2010-10-06 14:59           ` Robert Richter
2010-10-06 14:59           ` Robert Richter
2010-10-06 15:00           ` Paul Mundt
2010-10-06 15:00             ` Paul Mundt
2010-10-06 15:00             ` Paul Mundt
2010-10-06 15:00             ` Paul Mundt
2010-10-06 18:23           ` Grant Likely
2010-10-06 18:23             ` Grant Likely
2010-10-06 18:23             ` Grant Likely
2010-10-06 18:23             ` Grant Likely
2010-10-06 18:44             ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate Robert Richter
2010-10-06 18:44               ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate init/exit Robert Richter
2010-10-06 18:44               ` Robert Richter
2010-10-06 18:44               ` Robert Richter
2010-10-06 18:50               ` Paul Mundt
2010-10-06 18:50                 ` Paul Mundt
2010-10-06 18:50                 ` Paul Mundt
2010-10-06 18:50                 ` Paul Mundt
2010-10-06 18:58               ` Grant Likely
2010-10-06 18:58                 ` Grant Likely
2010-10-06 18:58                 ` Grant Likely
2010-10-06 18:58                 ` Grant Likely
2010-10-06 19:22                 ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate Robert Richter
2010-10-06 19:22                   ` [PATCH 4/7] ARM: oprofile: Move non-ARM code into separate init/exit Robert Richter
2010-10-06 19:22                   ` Robert Richter
2010-10-06 19:22                   ` Robert Richter
2010-10-04 20:44 ` [PATCH 5/7] oprofile: Abstract the perf-events backend Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-06 18:34   ` Robert Richter
2010-10-06 18:34     ` Robert Richter
2010-10-06 18:34     ` Robert Richter
2010-10-06 18:34     ` Robert Richter
2010-10-04 20:44 ` [PATCH 6/7] sh: oprofile: Use perf-events oprofile backend Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-05  8:08   ` Paul Mundt
2010-10-05  8:08     ` Paul Mundt
2010-10-05  8:08     ` Paul Mundt
2010-10-05  8:08     ` Paul Mundt
2010-10-06 18:35   ` Robert Richter
2010-10-06 18:35     ` Robert Richter
2010-10-06 18:35     ` Robert Richter
2010-10-06 18:35     ` Robert Richter
2010-10-06 19:45     ` Matt Fleming
2010-10-06 19:45       ` Matt Fleming
2010-10-06 19:45       ` Matt Fleming
2010-10-06 19:45       ` Matt Fleming
2010-10-06 21:03       ` Paul Mundt
2010-10-06 21:03         ` Paul Mundt
2010-10-06 21:03         ` Paul Mundt
2010-10-06 21:03         ` Paul Mundt
2010-10-04 20:44 ` [PATCH 7/7] sh: Annotate oprofile_arch_exit() with __exit marker Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-04 20:44   ` Matt Fleming
2010-10-05  8:16   ` Paul Mundt
2010-10-05  8:16     ` Paul Mundt
2010-10-05  8:16     ` Paul Mundt
2010-10-06 18:37   ` [PATCH 7/7] sh: Annotate oprofile_arch_exit() with __exit Robert Richter
2010-10-06 18:37     ` [PATCH 7/7] sh: Annotate oprofile_arch_exit() with __exit marker Robert Richter
2010-10-06 18:37     ` Robert Richter
2010-10-06 18:37     ` Robert Richter
2010-10-09  0:46 [PATCH V5 0/7] Generalise ARM perf-events backend for oprofile Matt Fleming
2010-10-09  0:46 ` [PATCH 2/7] perf: New helper function for pmu name Matt Fleming
2010-10-09  0:46   ` Matt Fleming
2010-10-09  0:46   ` Matt Fleming
2010-10-11  9:18   ` Robert Richter
2010-10-11  9:18     ` Robert Richter
2010-10-11  9:18     ` Robert Richter
2010-10-11  9:18     ` Robert Richter
2010-10-11  9:18     ` Robert Richter
2010-10-11  9:31     ` Peter Zijlstra
2010-10-11  9:31       ` Peter Zijlstra
2010-10-11  9:31       ` Peter Zijlstra
2010-10-11  9:31       ` Peter Zijlstra
2010-10-11  9:31       ` Peter Zijlstra
2010-10-11 15:31   ` Paul Mundt
2010-10-11 15:31     ` Paul Mundt
2010-10-11 15:31     ` Paul Mundt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=59a8e68894a2e755232189abbe9b1a3b892e309c.1286222593.git.matt@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=acme@redhat.com \
    --cc=dengcheng.zhu@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=grant.likely@secretlab.ca \
    --cc=lethal@linux-sh.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=robert.richter@amd.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.