Loading lib/Kconfig.debug +11 −0 Original line number Diff line number Diff line Loading @@ -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 Loading mm/page_owner.c +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); Loading Loading
lib/Kconfig.debug +11 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
mm/page_owner.c +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); Loading