lkml.org 
[lkml]   [2010]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 29 of 66] don't alloc harder for gfp nomemalloc even if nowait
    Date
    From
    From: Andrea Arcangeli <aarcange@redhat.com>

    Not worth throwing away the precious reserved free memory pool for allocations
    that can fail gracefully (either through mempool or because they're transhuge
    allocations later falling back to 4k allocations).

    Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
    Acked-by: Rik van Riel <riel@redhat.com>
    ---

    diff --git a/mm/page_alloc.c b/mm/page_alloc.c
    --- a/mm/page_alloc.c
    +++ b/mm/page_alloc.c
    @@ -1941,7 +1941,12 @@ gfp_to_alloc_flags(gfp_t gfp_mask)
    alloc_flags |= (__force int) (gfp_mask & __GFP_HIGH);

    if (!wait) {
    - alloc_flags |= ALLOC_HARDER;
    + /*
    + * Not worth trying to allocate harder for
    + * __GFP_NOMEMALLOC even if it can't schedule.
    + */
    + if (!(gfp_mask & __GFP_NOMEMALLOC))
    + alloc_flags |= ALLOC_HARDER;
    /*
    * Ignore cpuset if GFP_ATOMIC (!wait) rather than fail alloc.
    * See also cpuset_zone_allowed() comment in kernel/cpuset.c.

    \
     
     \ /
      Last update: 2010-11-03 16:45    [W:0.028 / U:0.008 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site