[lkml]   [2016]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/6] mm/page_owner: use tackdepot to store stacktrace
From: Joonsoo Kim <>

This patchset changes a way to store stacktrace in page_owner in order to
reduce memory usage. Below is motivation of this patchset coped
from the patch 6.

Currently, we store each page's allocation stacktrace on corresponding
page_ext structure and it requires a lot of memory. This causes the problem
that memory tight system doesn't work well if page_owner is enabled.
Moreover, even with this large memory consumption, we cannot get full
stacktrace because we allocate memory at boot time and just maintain
8 stacktrace slots to balance memory consumption. We could increase it
to more but it would make system unusable or change system behaviour.

To solve the problem, this patch uses stackdepot to store stacktrace.


Joonsoo Kim (6):
mm/compaction: split freepages without holding the zone lock
mm/page_owner: initialize page owner without holding the zone lock
mm/page_owner: copy last_migrate_reason in copy_page_owner()
mm/page_owner: introduce split_page_owner and replace manual handling
tools/vm/page_owner: increase temporary buffer size
mm/page_owner: use stackdepot to store stacktrace

include/linux/mm.h | 1 -
include/linux/page_ext.h | 4 +-
include/linux/page_owner.h | 12 ++--
lib/Kconfig.debug | 1 +
mm/compaction.c | 45 +++++++++++----
mm/page_alloc.c | 37 +-----------
mm/page_isolation.c | 9 ++-
mm/page_owner.c | 136 ++++++++++++++++++++++++++++++++++++++-------
tools/vm/page_owner_sort.c | 9 ++-
9 files changed, 173 insertions(+), 81 deletions(-)


 \ /
  Last update: 2016-05-03 07:41    [W:0.162 / U:0.632 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site