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. | ||
