lkml.org 
[lkml]   [2015]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] mm: get rid of __alloc_pages_high_priority
    On Thu, Nov 12, 2015 at 04:53:38PM +0100, mhocko@kernel.org wrote:
    > From: Michal Hocko <mhocko@suse.com>
    >
    > __alloc_pages_high_priority doesn't do anything special other than it
    > calls get_page_from_freelist and loops around GFP_NOFAIL allocation
    > until it succeeds. It would be better if the first part was done in
    > __alloc_pages_slowpath where we modify the zonelist because this would
    > be easier to read and understand. And do the retry at the very same
    > place because retrying without even attempting to do any reclaim is
    > fragile because we are basically relying on somebody else to make the
    > reclaim (be it the direct reclaim or OOM killer) for us. The caller
    > might be holding resources (e.g. locks) which block other other
    > reclaimers from making any progress for example.
    >
    > Remove the helper and open code it into its only user. We have to be
    > careful about __GFP_NOFAIL allocations from the PF_MEMALLOC context
    > even though this is a very bad idea to begin with because no progress
    > can be gurateed at all. We shouldn't break the __GFP_NOFAIL semantic
    > here though. It could be argued that this is essentially GFP_NOWAIT
    > context which we do not support but PF_MEMALLOC is much harder to check
    > for existing users because they might happen deep down the code path
    > performed much later after setting the flag so we cannot really rule out
    > there is no kernel path triggering this combination.
    >
    > Signed-off-by: Michal Hocko <mhocko@suse.com>

    Acked-by: Mel Gorman <mgorman@suse.de>

    --
    Mel Gorman
    SUSE Labs


    \
     
     \ /
      Last update: 2015-11-13 11:41    [W:3.846 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site