Messages in this thread |  | | Date | Wed, 18 Jul 2001 00:46:52 -0300 (BRT) | | From | Marcelo Tosatti <> | | Subject | Re: Inclusion of zoned inactive/free shortage patch |
| |
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/
|  |