diff options
author | Joonsoo Kim <iamjoonsoo.kim@lge.com> | 2016-10-07 19:58:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-07 21:46:27 -0400 |
commit | 9300d8dfd282bd1473395c5c4c76bfdc90b05978 (patch) | |
tree | 7e22780b9e02e88da9bf1bd49a78b61c4f340af2 /include/linux/page_ext.h | |
parent | 980ac1672e7edaa927557a5186f1967cd45afcf5 (diff) |
mm/page_owner: don't define fields on struct page_ext by hard-coding
There is a memory waste problem if we define field on struct page_ext by
hard-coding. Entry size of struct page_ext includes the size of those
fields even if it is disabled at runtime. Now, extra memory request at
runtime is possible so page_owner don't need to define it's own fields
by hard-coding.
This patch removes hard-coded define and uses extra memory for storing
page_owner information in page_owner. Most of code are just mechanical
changes.
Link: http://lkml.kernel.org/r/1471315879-32294-7-git-send-email-iamjoonsoo.kim@lge.com
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/page_ext.h')
-rw-r--r-- | include/linux/page_ext.h | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/include/linux/page_ext.h b/include/linux/page_ext.h index 179bdc4a470c..9298c393ddaa 100644 --- a/include/linux/page_ext.h +++ b/include/linux/page_ext.h | |||
@@ -44,12 +44,6 @@ enum page_ext_flags { | |||
44 | */ | 44 | */ |
45 | struct page_ext { | 45 | struct page_ext { |
46 | unsigned long flags; | 46 | unsigned long flags; |
47 | #ifdef CONFIG_PAGE_OWNER | ||
48 | unsigned int order; | ||
49 | gfp_t gfp_mask; | ||
50 | int last_migrate_reason; | ||
51 | depot_stack_handle_t handle; | ||
52 | #endif | ||
53 | }; | 47 | }; |
54 | 48 | ||
55 | extern void pgdat_page_ext_init(struct pglist_data *pgdat); | 49 | extern void pgdat_page_ext_init(struct pglist_data *pgdat); |