Re: Inclusion of zoned inactive/free shortage patch

Marcelo Tosatti (marcelo@conectiva.com.br)
Wed, 18 Jul 2001 00:46:52 -0300 (BRT)


On Tue, 17 Jul 2001, Linus Torvalds wrote:

>
> 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/