Re: [PATCH] perf_counters: start documenting HAVE_PERF_COUNTERS requirements

From: Paul Mundt
Date: Sun Jun 14 2009 - 05:42:11 EST


On Fri, Jun 12, 2009 at 01:27:12PM -0400, Mike Frysinger wrote:
> 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.

It would be nice to see this in arch/Kconfig instead, as that tends to
provide a centralized checklist for new features, especially when they
are non-trivial. At least I found the arch/Kconfig bits very helpful for
things like tracehook support, without having to grovel around
Documentation for verbose design documents that I otherwise couldn't care
less about.
--
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/