• J
    mm/debug_pagealloc.c: clean-up guard page handling code · acbc15a4
    Joonsoo Kim 提交于
    Patch series "Reduce memory waste by page extension user".
    
    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.
    
    This patch (of 6):
    
    We can make code clean by moving decision condition for set_page_guard()
    into set_page_guard() itself.  It will help code readability.  There is
    no functional change.
    
    Link: http://lkml.kernel.org/r/1471315879-32294-2-git-send-email-iamjoonsoo.kim@lge.comSigned-off-by: NJoonsoo Kim <iamjoonsoo.kim@lge.com>
    Acked-by: NVlastimil 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: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    acbc15a4
page_alloc.c 202.4 KB