Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1fdabf1 authored by Vignesh Radhakrishnan's avatar Vignesh Radhakrishnan Committed by Patrick Daly
Browse files

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: default avatarVignesh Radhakrishnan <vigneshr@codeaurora.org>
Signed-off-by: default avatarPrasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: default avatarPatrick Daly <pdaly@codeaurora.org>
parent dac9c388
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1006,6 +1006,15 @@ config TIMER_STATS
	  (it defaults to deactivated on bootup and will only be activated
	  if some application like powertop activates it explicitly).

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
+13 −1
Original line number Diff line number Diff line
@@ -224,8 +224,20 @@ 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 */