lkml.org 
[lkml]   [2011]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] Make GFP_DMA allocations w/o ZONE_DMA emit a warning instead of failing
    Date
    Please be more polite to other people. After a197b59ae6 all allocations
    with GFP_DMA set on nodes without ZONE_DMA fail nearly silently (only
    one warning during bootup is emited, no matter how many things fail).
    This is a very crude change on behaviour. To be more civil, instead of
    failing emit noisy warnings each time smbd. tries to allocate a GFP_DMA
    memory on non-ZONE_DMA node.

    This change should be reverted after one or two major releases, but
    we should be more accurate rather than hoping for the best.

    Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    ---
    mm/page_alloc.c | 5 +++--
    1 files changed, 3 insertions(+), 2 deletions(-)

    diff --git a/mm/page_alloc.c b/mm/page_alloc.c
    index a4e1db3..e22dd4e 100644
    --- a/mm/page_alloc.c
    +++ b/mm/page_alloc.c
    @@ -2248,8 +2248,9 @@ __alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order,
    if (should_fail_alloc_page(gfp_mask, order))
    return NULL;
    #ifndef CONFIG_ZONE_DMA
    - if (WARN_ON_ONCE(gfp_mask & __GFP_DMA))
    - return NULL;
    + /* Change this back to hard failure after 3.0 or 3.1. For now give
    + * drivers people a chance to fix their drivers w/o causing breakage. */
    + WARN_ON(gfp_mask & __GFP_DMA);
    #endif

    /*
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-06-01 12:07    [W:0.022 / U:59.304 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site