kmemleak : Make kmemleak_stack_scan optional using config
Currently we have kmemleak_stack_scan enabled by default. This can hog the cpu with pre-emption disabled for a long time starving other tasks. Make this optional at compile time, since if required we can always write to sysfs entry and enable this option. Change-Id: Ie30447861c942337c7ff25ac269b6025a527e8eb Signed-off-by: Vignesh Radhakrishnan <vigneshr@codeaurora.org>
This commit is contained in:
parent
93a10a8b28
commit
7f15dd8a75
|
@ -544,6 +544,15 @@ config DEBUG_KMEMLEAK_DEFAULT_OFF
|
|||
Say Y here to disable kmemleak by default. It can then be enabled
|
||||
on the command line via kmemleak=on.
|
||||
|
||||
config DEBUG_TASK_STACK_SCAN_OFF
|
||||
bool "Disable kmemleak task stack scan by default"
|
||||
depends on DEBUG_KMEMLEAK
|
||||
help
|
||||
Say Y here to disable kmemleak task stack scan by default
|
||||
at compile time. It can be enabled later if required by
|
||||
writing to the debugfs entry :
|
||||
echo "stack=on" > /sys/kernel/debug/kmemleak.
|
||||
|
||||
config DEBUG_PREEMPT
|
||||
bool "Debug preemptible kernel"
|
||||
depends on DEBUG_KERNEL && PREEMPT && TRACE_IRQFLAGS_SUPPORT
|
||||
|
|
|
@ -212,8 +212,18 @@ static unsigned long jiffies_min_age;
|
|||
static unsigned long jiffies_last_scan;
|
||||
/* delay between automatic memory scannings */
|
||||
static signed long jiffies_scan_wait;
|
||||
/* enables or disables the task stacks scanning */
|
||||
|
||||
/* Enables or disables the task stacks scanning.
|
||||
* Set to 1 if at compile time we want it enabled.
|
||||
* Else set to 0 to have it disabled by default.
|
||||
* This can be enabled by writing to "stack=on" using
|
||||
* kmemleak debugfs entry.*/
|
||||
#ifdef CONFIG_DEBUG_TASK_STACK_SCAN_OFF
|
||||
static int kmemleak_stack_scan;
|
||||
#else
|
||||
static int kmemleak_stack_scan = 1;
|
||||
#endif
|
||||
|
||||
/* protects the memory scanning, parameters and debug/kmemleak file access */
|
||||
static DEFINE_MUTEX(scan_mutex);
|
||||
/* setting kmemleak=on, will set this var, skipping the disable */
|
||||
|
|
Loading…
Reference in New Issue