aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig45
1 files changed, 31 insertions, 14 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 0121c0ea3e03..0aa6579504cc 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -916,31 +916,36 @@ config AIO
916 by some high performance threaded applications. Disabling 916 by some high performance threaded applications. Disabling
917 this option saves about 7k. 917 this option saves about 7k.
918 918
919config HAVE_PERF_COUNTERS 919config HAVE_PERF_EVENTS
920 bool 920 bool
921 help 921 help
922 See tools/perf/design.txt for details. 922 See tools/perf/design.txt for details.
923 923
924menu "Performance Counters" 924menu "Kernel Performance Events And Counters"
925 925
926config PERF_COUNTERS 926config PERF_EVENTS
927 bool "Kernel Performance Counters" 927 bool "Kernel performance events and counters"
928 default y if PROFILING 928 default y if (PROFILING || PERF_COUNTERS)
929 depends on HAVE_PERF_COUNTERS 929 depends on HAVE_PERF_EVENTS
930 select ANON_INODES 930 select ANON_INODES
931 help 931 help
932 Enable kernel support for performance counter hardware. 932 Enable kernel support for various performance events provided
933 by software and hardware.
934
935 Software events are supported either build-in or via the
936 use of generic tracepoints.
933 937
934 Performance counters are special hardware registers available 938 Most modern CPUs support performance events via performance
935 on most modern CPUs. These registers count the number of certain 939 counter registers. These registers count the number of certain
936 types of hw events: such as instructions executed, cachemisses 940 types of hw events: such as instructions executed, cachemisses
937 suffered, or branches mis-predicted - without slowing down the 941 suffered, or branches mis-predicted - without slowing down the
938 kernel or applications. These registers can also trigger interrupts 942 kernel or applications. These registers can also trigger interrupts
939 when a threshold number of events have passed - and can thus be 943 when a threshold number of events have passed - and can thus be
940 used to profile the code that runs on that CPU. 944 used to profile the code that runs on that CPU.
941 945
942 The Linux Performance Counter subsystem provides an abstraction of 946 The Linux Performance Event subsystem provides an abstraction of
943 these hardware capabilities, available via a system call. It 947 these software and hardware cevent apabilities, available via a
948 system call and used by the "perf" utility in tools/perf/. It
944 provides per task and per CPU counters, and it provides event 949 provides per task and per CPU counters, and it provides event
945 capabilities on top of those. 950 capabilities on top of those.
946 951
@@ -948,17 +953,29 @@ config PERF_COUNTERS
948 953
949config EVENT_PROFILE 954config EVENT_PROFILE
950 bool "Tracepoint profiling sources" 955 bool "Tracepoint profiling sources"
951 depends on PERF_COUNTERS && EVENT_TRACING 956 depends on PERF_EVENTS && EVENT_TRACING
952 default y 957 default y
953 help 958 help
954 Allow the use of tracepoints as software performance counters. 959 Allow the use of tracepoints as software performance events.
955 960
956 When this is enabled, you can create perf counters based on 961 When this is enabled, you can create perf events based on
957 tracepoints using PERF_TYPE_TRACEPOINT and the tracepoint ID 962 tracepoints using PERF_TYPE_TRACEPOINT and the tracepoint ID
958 found in debugfs://tracing/events/*/*/id. (The -e/--events 963 found in debugfs://tracing/events/*/*/id. (The -e/--events
959 option to the perf tool can parse and interpret symbolic 964 option to the perf tool can parse and interpret symbolic
960 tracepoints, in the subsystem:tracepoint_name format.) 965 tracepoints, in the subsystem:tracepoint_name format.)
961 966
967config PERF_COUNTERS
968 bool "Kernel performance counters (old config option)"
969 depends on HAVE_PERF_EVENTS
970 help
971 This config has been obsoleted by the PERF_EVENTS
972 config option - please see that one for details.
973
974 It has no effect on the kernel whether you enable
975 it or not, it is a compatibility placeholder.
976
977 Say N if unsure.
978
962endmenu 979endmenu
963 980
964config VM_EVENT_COUNTERS 981config VM_EVENT_COUNTERS