Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[linux-2.6] / kernel / gcov / Kconfig
1 menu "GCOV-based kernel profiling"
2
3 config GCOV_KERNEL
4         bool "Enable gcov-based kernel profiling"
5         depends on DEBUG_FS && CONSTRUCTORS
6         default n
7         ---help---
8         This option enables gcov-based code profiling (e.g. for code coverage
9         measurements).
10
11         If unsure, say N.
12
13         Additionally specify CONFIG_GCOV_PROFILE_ALL=y to get profiling data
14         for the entire kernel. To enable profiling for specific files or
15         directories, add a line similar to the following to the respective
16         Makefile:
17
18         For a single file (e.g. main.o):
19                 GCOV_PROFILE_main.o := y
20
21         For all files in one directory:
22                 GCOV_PROFILE := y
23
24         To exclude files from being profiled even when CONFIG_GCOV_PROFILE_ALL
25         is specified, use:
26
27                 GCOV_PROFILE_main.o := n
28         and:
29                 GCOV_PROFILE := n
30
31         Note that the debugfs filesystem has to be mounted to access
32         profiling data.
33
34 config GCOV_PROFILE_ALL
35         bool "Profile entire Kernel"
36         depends on GCOV_KERNEL
37         depends on S390 || X86
38         default n
39         ---help---
40         This options activates profiling for the entire kernel.
41
42         If unsure, say N.
43
44         Note that a kernel compiled with profiling flags will be significantly
45         larger and run slower. Also be sure to exclude files from profiling
46         which are not linked to the kernel image to prevent linker errors.
47
48 endmenu