mm/page_owner: ask users about default setting of PAGE_OWNER

Since this commit 48c96a3685 ("mm/page_owner: keep track
of page owners") doesn't enable the page_owner by default
even though CONFIG_PAGE_OWNER is enabled.

Add configuration option CONFIG_PAGE_OWNER_ENABLE_DEFAULT to
allow user to enable it by default through the defconfig file.

CRs-Fixed: 1006743
Change-Id: I9b565a34e2068bf575974eaf3dc9f7820bdd7a96
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge errors and warnings]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
This commit is contained in:
Trilok Soni 2016-04-20 18:12:51 -07:00 committed by Swathi Sridhar
parent c42b5c2008
commit 6fe7396f91
2 changed files with 16 additions and 1 deletions

View file

@ -283,6 +283,17 @@ config PAGE_OWNER
If unsure, say N.
config PAGE_OWNER_ENABLE_DEFAULT
bool "Enable Track page owner by default"
depends on PAGE_OWNER
help
This keeps track of what call chain is the owner of a page, may
help to find bare alloc_page(s) leaks. If you include this
feature on your build, it is enabled by default. You should pass
"page_owner=off" to boot parameter in order to disable it. Eats
a fair amount of memory if enabled. See tools/vm/page_owner_sort.c
for user-space helper.
config DEBUG_FS
bool "Debug Filesystem"
help

View file

@ -26,7 +26,8 @@ struct page_owner {
depot_stack_handle_t handle;
};
static bool page_owner_disabled = true;
static bool page_owner_disabled =
!IS_ENABLED(CONFIG_PAGE_OWNER_ENABLE_DEFAULT);
DEFINE_STATIC_KEY_FALSE(page_owner_inited);
static depot_stack_handle_t dummy_handle;
@ -43,6 +44,9 @@ static int __init early_page_owner_param(char *buf)
if (strcmp(buf, "on") == 0)
page_owner_disabled = false;
if (strcmp(buf, "off") == 0)
page_owner_disabled = true;
return 0;
}
early_param("page_owner", early_page_owner_param);