• Mel Gorman's avatar
    mm, page_alloc: move __GFP_HARDWALL modifications out of the fastpath · 83d4ca81
    Mel Gorman authored
    __GFP_HARDWALL only has meaning in the context of cpusets but the fast
    path always applies the flag on the first attempt.  Move the
    manipulations into the cpuset paths where they will be masked by a
    static branch in the common case.
    
    With the other micro-optimisations in this series combined, the impact
    on a page allocator microbenchmark is
    
                                                 4.6.0-rc2                  4.6.0-rc2
                                             decstat-v1r20                micro-v1r20
      Min      alloc-odr0-1               381.00 (  0.00%)           377.00 (  1.05%)
      Min      alloc-odr0-2               275.00 (  0.00%)           273.00 (  0.73%)
      Min      alloc-odr0-4               229.00 (  0.00%)           226.00 (  1.31%)
      Min      alloc-odr0-8               199.00 (  0.00%)           196.00 (  1.51%)
      Min      alloc-odr0-16              186.00 (  0.00%)           183.00 (  1.61%)
      Min      alloc-odr0-32              179.00 (  0.00%)           175.00 (  2.23%)
      Min      alloc-odr0-64              174.00 (  0.00%)           172.00 (  1.15%)
      Min      alloc-odr0-128             172.00 (  0.00%)           170.00 (  1.16%)
      Min      alloc-odr0-256             181.00 (  0.00%)           183.00 ( -1.10%)
      Min      alloc-odr0-512             193.00 (  0.00%)           191.00 (  1.04%)
      Min      alloc-odr0-1024            201.00 (  0.00%)           199.00 (  1.00%)
      Min      alloc-odr0-2048            206.00 (  0.00%)           204.00 (  0.97%)
      Min      alloc-odr0-4096            212.00 (  0.00%)           210.00 (  0.94%)
      Min      alloc-odr0-8192            215.00 (  0.00%)           213.00 (  0.93%)
      Min      alloc-odr0-16384           216.00 (  0.00%)           214.00 (  0.93%)
    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>
    83d4ca81
page_alloc.c 199 KB