• Mel Gorman's avatar
    mm, page_alloc: shortcut watermark checks for order-0 pages · 48ee5f36
    Mel Gorman authored
    Watermarks have to be checked on every allocation including the number
    of pages being allocated and whether reserves can be accessed.  The
    reserves only matter if memory is limited and the free_pages adjustment
    only applies to high-order pages.  This patch adds a shortcut for
    order-0 pages that avoids numerous calculations if there is plenty of
    free memory yielding the following performance difference in a page
    allocator microbenchmark;
    
                                                 4.6.0-rc2                  4.6.0-rc2
                                             optfair-v1r20             fastmark-v1r20
      Min      alloc-odr0-1               380.00 (  0.00%)           364.00 (  4.21%)
      Min      alloc-odr0-2               273.00 (  0.00%)           262.00 (  4.03%)
      Min      alloc-odr0-4               227.00 (  0.00%)           214.00 (  5.73%)
      Min      alloc-odr0-8               196.00 (  0.00%)           186.00 (  5.10%)
      Min      alloc-odr0-16              183.00 (  0.00%)           173.00 (  5.46%)
      Min      alloc-odr0-32              173.00 (  0.00%)           165.00 (  4.62%)
      Min      alloc-odr0-64              169.00 (  0.00%)           161.00 (  4.73%)
      Min      alloc-odr0-128             169.00 (  0.00%)           159.00 (  5.92%)
      Min      alloc-odr0-256             180.00 (  0.00%)           168.00 (  6.67%)
      Min      alloc-odr0-512             190.00 (  0.00%)           180.00 (  5.26%)
      Min      alloc-odr0-1024            198.00 (  0.00%)           190.00 (  4.04%)
      Min      alloc-odr0-2048            204.00 (  0.00%)           196.00 (  3.92%)
      Min      alloc-odr0-4096            209.00 (  0.00%)           202.00 (  3.35%)
      Min      alloc-odr0-8192            213.00 (  0.00%)           206.00 (  3.29%)
      Min      alloc-odr0-16384           214.00 (  0.00%)           206.00 (  3.74%)
    Signed-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
    Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
    Cc: Jesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    48ee5f36
page_alloc.c 199 KB