Re: Avoid allocating during interleave from almost full nodes

From: Christoph Lameter
Date: Mon Nov 06 2006 - 15:13:22 EST


On Mon, 6 Nov 2006, Andrew Morton wrote:

> > It should do interleaving because the data is to be accessed from multiple
> > nodes.
>
> I think you missed the point.
>
> At present the code does interleaving by taking one page from each zone and
> then advancing onto the next zone, yes?

s/zone/node/ then yes (zone == node if we just have a single zone).

> If so, this is pretty awful frmo a cache utilsiation POV. it'd be much
> better to take 16 pages from one zone before advancing onto the next one.

The L1/L2 cpu cache or the pageset hot / cold caches? Take N pages
from a node instead of 1? That would mean we need to have more complex
interleaving logic that keeps track of how many pages we took. The number
of pages to take will vary depending on the size of the shared data. For
shared data areas that are just a couple of pages this wont work.

> > Clustering on a single node may create hotspots or imbalances.
>
> Umm, but that's exactly what the patch we're discussing will do.

Not if we have a set of remaining nodes.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/