lkml.org 
[lkml]   [2008]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Mark the correct zone as full when scanning zonelists
    On Thu, 11 Sep 2008 14:41:55 -0700
    Andrew Morton <akpm@linux-foundation.org> wrote:

    > On Thu, 11 Sep 2008 22:25:51 +0100
    > Mel Gorman <mel@csn.ul.ie> wrote:
    >
    > > The for_each_zone_zonelist() uses a struct zoneref *z cursor when scanning
    > > zonelists to keep track of where in the zonelist it is. The zoneref that
    > > is returned corresponds to the the next zone that is to be scanned, not
    > > the current one as it originally thought of as an opaque list.
    > >
    > > When the page allocator is scanning a zonelist, it marks zones that it
    > > temporarily full zones to eliminate near-future scanning attempts.
    >
    > That sentence needs help.
    >
    Hmm, should we rename

    next_zone_zonelist() => get_appropriate_zone_from_list()

    or some better name ?

    > > It uses
    > > the zoneref for the marking and consequently the incorrect zone gets marked
    > > full. This leads to a suitable zone being skipped in the mistaken belief
    > > it is full. This patch corrects the problem by changing zoneref to be the
    > > current zone being scanned instead of the next one.
    >
    > Applicable to 2.6.26 as well, yes?
    >
    Maybe yes. But it's better to show where this patch really fixes.
    Is this a fix for misunderstanding usage of zoneref in
    mm/page_alloc.c::get_page_from_freelist() ?

    == here ?==
    if (NUMA_BUILD)
    zlc_mark_zone_full(zonelist, z);

    Thanks,
    -Kame



    \
     
     \ /
      Last update: 2008-09-12 03:09    [W:0.025 / U:0.836 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site