Re: [PATCH 2/4] sh: Accessor functions for the sh_pmu state

From: Robert Richter
Date: Fri Aug 27 2010 - 09:46:16 EST


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 <matt@xxxxxxxxxxxxxxxxx>
> ---
> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/