Messages in this thread | | | From | Sergei Rogachev <> | Subject | [PATCH 0/1] mm/page_ext: remove unnecessary stack_trace field | Date | Tue, 27 Jan 2015 00:52:11 +0300 |
| |
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
| |