56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0-only
 | 
						|
menu "GCOV-based kernel profiling"
 | 
						|
 | 
						|
config GCOV_KERNEL
 | 
						|
	bool "Enable gcov-based kernel profiling"
 | 
						|
	depends on DEBUG_FS
 | 
						|
	depends on !ARCH_WANTS_NO_INSTR || CC_HAS_NO_PROFILE_FN_ATTR
 | 
						|
	select CONSTRUCTORS
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	This option enables gcov-based code profiling (e.g. for code coverage
 | 
						|
	measurements).
 | 
						|
 | 
						|
	If unsure, say N.
 | 
						|
 | 
						|
	Additionally specify CONFIG_GCOV_PROFILE_ALL=y to get profiling data
 | 
						|
	for the entire kernel. To enable profiling for specific files or
 | 
						|
	directories, add a line similar to the following to the respective
 | 
						|
	Makefile:
 | 
						|
 | 
						|
	For a single file (e.g. main.o):
 | 
						|
	        GCOV_PROFILE_main.o := y
 | 
						|
 | 
						|
	For all files in one directory:
 | 
						|
	        GCOV_PROFILE := y
 | 
						|
 | 
						|
	To exclude files from being profiled even when CONFIG_GCOV_PROFILE_ALL
 | 
						|
	is specified, use:
 | 
						|
 | 
						|
	        GCOV_PROFILE_main.o := n
 | 
						|
	and:
 | 
						|
	        GCOV_PROFILE := n
 | 
						|
 | 
						|
	Note that the debugfs filesystem has to be mounted to access
 | 
						|
	profiling data.
 | 
						|
 | 
						|
config ARCH_HAS_GCOV_PROFILE_ALL
 | 
						|
	def_bool n
 | 
						|
 | 
						|
config GCOV_PROFILE_ALL
 | 
						|
	bool "Profile entire Kernel"
 | 
						|
	depends on !COMPILE_TEST
 | 
						|
	depends on GCOV_KERNEL
 | 
						|
	depends on ARCH_HAS_GCOV_PROFILE_ALL
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	This options activates profiling for the entire kernel.
 | 
						|
 | 
						|
	If unsure, say N.
 | 
						|
 | 
						|
	Note that a kernel compiled with profiling flags will be significantly
 | 
						|
	larger and run slower. Also be sure to exclude files from profiling
 | 
						|
	which are not linked to the kernel image to prevent linker errors.
 | 
						|
 | 
						|
endmenu
 |