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    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site