>
> On Tue, 17 Jul 2001, Marcelo Tosatti wrote:
> >
> > > A single-zone parameter just looks fundamentally broken.
> >
> > The "zone" parameter passed to swap_out() means "don't unmap pte's mapping
> > to pages belonging to not-under-shortage zones". It can (and it should) be
> > replaced by a "zone_specific" parameter.
>
> Ahh.
>
> In fact, it should be replaced by a single bit.
>
> Passing in a "zone *" and then using it purely as a boolean makes no
> sense.
Right.
> But that still makes me ask: why do you have that (misnamed, and
> mis-typed) boolean there in the first place?
Because I thought about doing something like:
/* Avoid touching pages from zones which
* are not from the zone being scanned
*/
if (page->zone != zone)
return;
But then I figured out that its stupid.
I ended up using the "zone_t *zone" as a boolean and forgot to change it
before sending the patch.
> Why not just unconditionally have the "zone_shortage(page->zone)"?
Because I tried to avoid strict perzone shortage handling, keeping the
global scanning to have _some_ "fair" aging between the zones.
The active/inactive dirty lists are shared by all zones, and page position
there is a method of page age indication.
So in most cases we are "fair" wrt list position and do global scanning.
Now if there is a real need, we do perzone scanning.
Comments?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/