From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Richter Subject: Re: [PATCH 2/4] sh: Accessor functions for the sh_pmu state Date: Fri, 27 Aug 2010 15:43:01 +0200 Message-ID: <20100827134301.GL22783@erda.amd.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-sh-owner@vger.kernel.org To: Matt Fleming Cc: "linux-kernel@vger.kernel.org" , Will Deacon , Paul Mundt , Russell King , "linux-arm-kernel@lists.infradead.org" , "linux-sh@vger.kernel.org" , Peter Zijlstra , Ingo Molnar , Frederic Weisbecker , Arnaldo Carvalho de Melo , "linux-arch@vger.kernel.org" List-Id: linux-arch.vger.kernel.org On 26.08.10 15:09:17, Matt Fleming wrote: > Introduce some accessor functions for getting at the name and number of > counters of the current sh_pmu instance. > > Signed-off-by: Matt Fleming > --- > arch/sh/include/asm/perf_event.h | 2 ++ > arch/sh/kernel/perf_event.c | 13 +++++++++++++ > 2 files changed, 15 insertions(+), 0 deletions(-) > > diff --git a/arch/sh/include/asm/perf_event.h b/arch/sh/include/asm/perf_event.h > index 3d0c9f3..5b7fa84 100644 > --- a/arch/sh/include/asm/perf_event.h > +++ b/arch/sh/include/asm/perf_event.h > @@ -25,6 +25,8 @@ struct sh_pmu { > extern int register_sh_pmu(struct sh_pmu *); > extern int reserve_pmc_hardware(void); > extern void release_pmc_hardware(void); > +extern int sh_pmu_num_events(void); > +extern const char *sh_pmu_name(void); > > static inline void set_perf_event_pending(void) > { > diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c > index 7a3dc35..086f788 100644 > --- a/arch/sh/kernel/perf_event.c > +++ b/arch/sh/kernel/perf_event.c > @@ -60,6 +60,19 @@ static inline int sh_pmu_initialized(void) > } > > /* > + * Return the number of events for the current sh_pmu. > + */ > +int sh_pmu_num_events(void) > +{ > + return sh_pmu->num_events; > +} > + > +const char *sh_pmu_name(void) > +{ > + return sh_pmu->name; > +} > + > +/* This probably needs EXPORT_SYMBOLS*(), but not really sure. Have you compiled oprofile as module? This accessor functions should be generic for all architectures. -Robert > * Release the PMU if this is the last perf_event. > */ > static void hw_perf_event_destroy(struct perf_event *event) > -- > 1.7.1 > > -- Advanced Micro Devices, Inc. Operating System Research Center From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Richter Date: Fri, 27 Aug 2010 13:43:01 +0000 Subject: Re: [PATCH 2/4] sh: Accessor functions for the sh_pmu state Message-Id: <20100827134301.GL22783@erda.amd.com> List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Matt Fleming Cc: "linux-kernel@vger.kernel.org" , Will Deacon , Paul Mundt , Russell King , "linux-arm-kernel@lists.infradead.org" , "linux-sh@vger.kernel.org" , Peter Zijlstra , Ingo Molnar , Frederic Weisbecker , Arnaldo Carvalho de Melo , "linux-arch@vger.kernel.org" On 26.08.10 15:09:17, Matt Fleming wrote: > Introduce some accessor functions for getting at the name and number of > counters of the current sh_pmu instance. > > Signed-off-by: Matt Fleming > --- > arch/sh/include/asm/perf_event.h | 2 ++ > arch/sh/kernel/perf_event.c | 13 +++++++++++++ > 2 files changed, 15 insertions(+), 0 deletions(-) > > diff --git a/arch/sh/include/asm/perf_event.h b/arch/sh/include/asm/perf_event.h > index 3d0c9f3..5b7fa84 100644 > --- a/arch/sh/include/asm/perf_event.h > +++ b/arch/sh/include/asm/perf_event.h > @@ -25,6 +25,8 @@ struct sh_pmu { > extern int register_sh_pmu(struct sh_pmu *); > extern int reserve_pmc_hardware(void); > extern void release_pmc_hardware(void); > +extern int sh_pmu_num_events(void); > +extern const char *sh_pmu_name(void); > > static inline void set_perf_event_pending(void) > { > diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c > index 7a3dc35..086f788 100644 > --- a/arch/sh/kernel/perf_event.c > +++ b/arch/sh/kernel/perf_event.c > @@ -60,6 +60,19 @@ static inline int sh_pmu_initialized(void) > } > > /* > + * Return the number of events for the current sh_pmu. > + */ > +int sh_pmu_num_events(void) > +{ > + return sh_pmu->num_events; > +} > + > +const char *sh_pmu_name(void) > +{ > + return sh_pmu->name; > +} > + > +/* This probably needs EXPORT_SYMBOLS*(), but not really sure. Have you compiled oprofile as module? This accessor functions should be generic for all architectures. -Robert > * Release the PMU if this is the last perf_event. > */ > static void hw_perf_event_destroy(struct perf_event *event) > -- > 1.7.1 > > -- Advanced Micro Devices, Inc. Operating System Research Center From mboxrd@z Thu Jan 1 00:00:00 1970 From: robert.richter@amd.com (Robert Richter) Date: Fri, 27 Aug 2010 15:43:01 +0200 Subject: [PATCH 2/4] sh: Accessor functions for the sh_pmu state In-Reply-To: References: Message-ID: <20100827134301.GL22783@erda.amd.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 26.08.10 15:09:17, Matt Fleming wrote: > Introduce some accessor functions for getting at the name and number of > counters of the current sh_pmu instance. > > Signed-off-by: Matt Fleming > --- > arch/sh/include/asm/perf_event.h | 2 ++ > arch/sh/kernel/perf_event.c | 13 +++++++++++++ > 2 files changed, 15 insertions(+), 0 deletions(-) > > diff --git a/arch/sh/include/asm/perf_event.h b/arch/sh/include/asm/perf_event.h > index 3d0c9f3..5b7fa84 100644 > --- a/arch/sh/include/asm/perf_event.h > +++ b/arch/sh/include/asm/perf_event.h > @@ -25,6 +25,8 @@ struct sh_pmu { > extern int register_sh_pmu(struct sh_pmu *); > extern int reserve_pmc_hardware(void); > extern void release_pmc_hardware(void); > +extern int sh_pmu_num_events(void); > +extern const char *sh_pmu_name(void); > > static inline void set_perf_event_pending(void) > { > diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c > index 7a3dc35..086f788 100644 > --- a/arch/sh/kernel/perf_event.c > +++ b/arch/sh/kernel/perf_event.c > @@ -60,6 +60,19 @@ static inline int sh_pmu_initialized(void) > } > > /* > + * Return the number of events for the current sh_pmu. > + */ > +int sh_pmu_num_events(void) > +{ > + return sh_pmu->num_events; > +} > + > +const char *sh_pmu_name(void) > +{ > + return sh_pmu->name; > +} > + > +/* This probably needs EXPORT_SYMBOLS*(), but not really sure. Have you compiled oprofile as module? This accessor functions should be generic for all architectures. -Robert > * Release the PMU if this is the last perf_event. > */ > static void hw_perf_event_destroy(struct perf_event *event) > -- > 1.7.1 > > -- Advanced Micro Devices, Inc. Operating System Research Center