All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] mm/page_ext: remove unnecessary stack_trace field
@ 2015-01-26 21:52 Sergei Rogachev
  2015-01-26 21:52 ` [PATCH 1/1] " Sergei Rogachev
  0 siblings, 1 reply; 5+ messages in thread
From: Sergei Rogachev @ 2015-01-26 21:52 UTC (permalink / raw)
  To: akpm, iamjoonsoo.kim; +Cc: LKML, Sergei Rogachev

The functionality named "page owner" has resurrected the structure page_ext
which is used for keeping additional page-related information. Every page in
the system has its own corresponding page_ext structure.

Page owner uses this structure to keep allocation order, gfp_mask and backtrace
entries; moreover page_ext includes a field of type "struct stack_trace". And
this field is used for collecting backtraces: a pointer to struct stack_trace is
passed to save_stack_trace in the function __set_page_owner. But it is really
not necessary to keep dedicated stack_trace structures for all physical pages in
the system, only an amount of saved backtrace entries is needed to be saved.

The stack_trace structure can be allocated on the stack (it is relatively small)
and used for save_stack_trace invocation. Such change can save 12 bytes of
memory per page if page owner functionality is enabled.

Sergei Rogachev (1):
  mm/page_ext: remove unnecessary stack_trace field

 include/linux/page_ext.h |  2 +-
 mm/page_owner.c          | 21 ++++++++++++---------
 2 files changed, 13 insertions(+), 10 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-01-28 20:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-26 21:52 [PATCH 0/1] mm/page_ext: remove unnecessary stack_trace field Sergei Rogachev
2015-01-26 21:52 ` [PATCH 1/1] " Sergei Rogachev
2015-01-27  8:36   ` Joonsoo Kim
2015-01-27 22:43   ` Andrew Morton
2015-01-28 19:08     ` Sergei Rogachev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.