[PATCH 0/1] mm/page_ext: remove unnecessary stack_trace field

From: Sergei Rogachev
Date: Mon Jan 26 2015 - 16:53:41 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/