Re: [PATCH] perf_counters: start documenting HAVE_PERF_COUNTERS requirements

From: Randy Dunlap
Date: Fri Jun 12 2009 - 13:22:21 EST


Mike Frysinger wrote:
> Help out arch porters who want to support perf counters by listing some
> basic requirements.
>
> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
> ---
> i imagine more details would be good, but this is a starting point and
> better than nothing
>
> init/Kconfig | 2 ++
> tools/perf/design.txt | 15 +++++++++++++++
> 2 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index c649657..20f85b1 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -936,6 +936,8 @@ config AIO
>
> config HAVE_PERF_COUNTERS
> bool
> + help
> + See end of tools/perf/design.txt

How about
See "Arch requirements" in tools/perf/design.txt
since it doesn't need to be at the end of the file forever.

>
> menu "Performance Counters"
>
> diff --git a/tools/perf/design.txt b/tools/perf/design.txt
> index 860e116..f71e0d2 100644
> --- a/tools/perf/design.txt
> +++ b/tools/perf/design.txt
> @@ -440,3 +440,18 @@ by this process or by another, and doesn't affect any counters that
> this process has created on other processes. It only enables or
> disables the group leaders, not any other members in the groups.
>
> +
> +Arch requirements
> +-----------------
> +
> +If your architecture does not have hardware performance metrics, you can
> +still use the generic software counters based on hrtimers for sampling.
> +
> +So to start with, in order to add HAVE_PERF_COUNTERS to your Kconfig, you
> +will need at least this:
> + - asm/perf_counter.h - a basic stub will suffice at first
> + - support for atomic64 types (and associated helper functions)
> + - set_perf_counter_pending() implemented
> +
> +If your architecture does have hardware capabilities, you can override the
> +weak stub hw_perf_counter_init() to register hardware counters.


--
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon
http://linuxplumbersconf.org/2009/
--
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/