diff options
-rw-r--r-- | init/Kconfig | 2 | ||||
-rw-r--r-- | tools/perf/design.txt | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index c649657e2259..d3a50967c337 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -936,6 +936,8 @@ config AIO | |||
936 | 936 | ||
937 | config HAVE_PERF_COUNTERS | 937 | config HAVE_PERF_COUNTERS |
938 | bool | 938 | bool |
939 | help | ||
940 | See tools/perf/design.txt for details. | ||
939 | 941 | ||
940 | menu "Performance Counters" | 942 | menu "Performance Counters" |
941 | 943 | ||
diff --git a/tools/perf/design.txt b/tools/perf/design.txt index 860e116d979c..f71e0d245cba 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 | |||
440 | this process has created on other processes. It only enables or | 440 | this process has created on other processes. It only enables or |
441 | disables the group leaders, not any other members in the groups. | 441 | disables the group leaders, not any other members in the groups. |
442 | 442 | ||
443 | |||
444 | Arch requirements | ||
445 | ----------------- | ||
446 | |||
447 | If your architecture does not have hardware performance metrics, you can | ||
448 | still use the generic software counters based on hrtimers for sampling. | ||
449 | |||
450 | So to start with, in order to add HAVE_PERF_COUNTERS to your Kconfig, you | ||
451 | will need at least this: | ||
452 | - asm/perf_counter.h - a basic stub will suffice at first | ||
453 | - support for atomic64 types (and associated helper functions) | ||
454 | - set_perf_counter_pending() implemented | ||
455 | |||
456 | If your architecture does have hardware capabilities, you can override the | ||
457 | weak stub hw_perf_counter_init() to register hardware counters. | ||