lkml.org 
[lkml]   [2010]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 29 of 66] don't alloc harder for gfp nomemalloc even if nowait
Date
> 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.

I like this.
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>






\
 
 \ /
  Last update: 2010-11-09 04:09    [W:0.313 / U:7.304 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site