linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Reduce memory waste by page extension user
@ 2016-08-10  6:16 js1304
  2016-08-10  6:16 ` [PATCH 1/5] mm/debug_pagealloc: clean-up guard page handling code js1304
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: js1304 @ 2016-08-10  6:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Vlastimil Babka, Minchan Kim, Michal Hocko, Sergey Senozhatsky,
	linux-kernel, linux-mm, Joonsoo Kim

From: Joonsoo Kim <iamjoonsoo.kim@lge.com>

This patchset tries to reduce memory waste by page extension user.

First case is architecture supported debug_pagealloc. It doesn't
requires additional memory if guard page isn't used. 8 bytes per
page will be saved in this case.

Second case is related to page owner feature. Until now, if page_ext
users want to use it's own fields on page_ext, fields should be
defined in struct page_ext by hard-coding. It has a following problem.

struct page_ext {
 #ifdef CONFIG_A
	int a;
 #endif
 #ifdef CONFIG_B
	int b;
 #endif
};

Assume that kernel is built with both CONFIG_A and CONFIG_B.
Even if we enable feature A and doesn't enable feature B at runtime,
each entry of struct page_ext takes two int rather than one int.
It's undesirable waste so this patch tries to reduce it. By this patchset,
we can save 20 bytes per page dedicated for page owner feature
in some configurations.

Thanks.

Joonsoo Kim (5):
  mm/debug_pagealloc: clean-up guard page handling code
  mm/debug_pagealloc: don't allocate page_ext if we don't use guard page
  mm/page_owner: move page_owner specific function to page_owner.c
  mm/page_ext: support extra space allocation by page_ext user
  mm/page_owner: don't define fields on struct page_ext by hard-coding

 include/linux/page_ext.h   |   8 +--
 include/linux/page_owner.h |   2 +
 mm/page_alloc.c            |  44 +++++++------
 mm/page_ext.c              |  41 +++++++++---
 mm/page_owner.c            | 152 ++++++++++++++++++++++++++++++++++++++-------
 mm/vmstat.c                |  79 -----------------------
 6 files changed, 190 insertions(+), 136 deletions(-)

-- 
1.9.1

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

end of thread, other threads:[~2016-08-16  2:52 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-10  6:16 [PATCH 0/5] Reduce memory waste by page extension user js1304
2016-08-10  6:16 ` [PATCH 1/5] mm/debug_pagealloc: clean-up guard page handling code js1304
2016-08-10  8:14   ` Sergey Senozhatsky
2016-08-11  9:41     ` Vlastimil Babka
2016-08-12 12:25       ` Sergey Senozhatsky
2016-08-16  2:58         ` Joonsoo Kim
2016-08-11  9:38   ` Vlastimil Babka
2016-08-10  6:16 ` [PATCH 2/5] mm/debug_pagealloc: don't allocate page_ext if we don't use guard page js1304
2016-08-10  9:44   ` Sergey Senozhatsky
2016-08-11  9:53   ` Vlastimil Babka
2016-08-10  6:16 ` [PATCH 3/5] mm/page_owner: move page_owner specific function to page_owner.c js1304
2016-08-10  8:03   ` Sergey Senozhatsky
2016-08-11 12:33   ` Vlastimil Babka
2016-08-10  6:16 ` [PATCH 4/5] mm/page_ext: support extra space allocation by page_ext user js1304
2016-08-11 12:53   ` Vlastimil Babka
2016-08-10  6:16 ` [PATCH 5/5] mm/page_owner: don't define fields on struct page_ext by hard-coding js1304
2016-08-11 13:01   ` Vlastimil Babka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).