mm: page_owner: fetch backtrace only for tracked pages

Very minor optimization.

Link: https://lkml.kernel.org/r/20210401212445.3534721-1-slyfox@gentoo.org
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Sergei Trofimovich 2021-04-29 22:55:02 -07:00 committed by Linus Torvalds
parent 64ea78d2fd
commit fab765c210

View File

@ -147,15 +147,15 @@ void __reset_page_owner(struct page *page, unsigned int order)
{ {
int i; int i;
struct page_ext *page_ext; struct page_ext *page_ext;
depot_stack_handle_t handle = 0; depot_stack_handle_t handle;
struct page_owner *page_owner; struct page_owner *page_owner;
u64 free_ts_nsec = local_clock(); u64 free_ts_nsec = local_clock();
handle = save_stack(GFP_NOWAIT | __GFP_NOWARN);
page_ext = lookup_page_ext(page); page_ext = lookup_page_ext(page);
if (unlikely(!page_ext)) if (unlikely(!page_ext))
return; return;
handle = save_stack(GFP_NOWAIT | __GFP_NOWARN);
for (i = 0; i < (1 << order); i++) { for (i = 0; i < (1 << order); i++) {
__clear_bit(PAGE_EXT_OWNER_ALLOCATED, &page_ext->flags); __clear_bit(PAGE_EXT_OWNER_ALLOCATED, &page_ext->flags);
page_owner = get_page_owner(page_ext); page_owner = get_page_owner(page_ext);