[tip:perfcounters/core] perf_counter: Start documenting HAVE_PERF_COUNTERS requirements
From: tip-bot for Mike Frysinger
Date: Fri Jun 12 2009 - 13:34:43 EST
Commit-ID: 3c1f287bf974b05ad75df3c462fccace10035fbd
Gitweb: http://git.kernel.org/tip/3c1f287bf974b05ad75df3c462fccace10035fbd
Author: Mike Frysinger <vapier@xxxxxxxxxx>
AuthorDate: Fri, 12 Jun 2009 13:17:43 -0400
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Fri, 12 Jun 2009 19:29:44 +0200
perf_counter: Start documenting HAVE_PERF_COUNTERS requirements
Help out arch porters who want to support perf counters by listing some
basic requirements.
Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
LKML-Reference: <1244827063-24046-1-git-send-email-vapier@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
init/Kconfig | 3 +++
tools/perf/design.txt | 15 +++++++++++++++
2 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/init/Kconfig b/init/Kconfig
index c649657..e03959d 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -934,6 +934,9 @@ config AIO
by some high performance threaded applications. Disabling
this option saves about 7k.
+#
+# See tools/perf/design.txt about details:
+#
config HAVE_PERF_COUNTERS
bool
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.
--
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/