Re: [PATCH 1/5] cpuset memory spread basic implementation

From: Andi Kleen
Date: Mon Feb 06 2006 - 13:05:08 EST


On Monday 06 February 2006 17:48, Christoph Lameter wrote:

> This is very different from the typical case of a single threaded process
> roaming across some data and then terminating. In that case we always want
> placement of memory as near to the process as possible. In cases were we
> are not sure about future application behavior it is best to assume that
> node local is best. Spreading memory allocations for storage that is only
> accessed from one processor will reduce the performance of an application.
>
> So the default operating mode needs to be node local.

I still don't quite agree. As long as the latency penalty of going
off node is not too bad (let's say < factor 2) i think it's better
to spread out the caches than to always locate them locally.
That is because kernel object/data cache accesses are far less frequent
than user mapped memory accesses. And it's a good idea to give
the later memory some headstart for local memory.

If you have a much worse worst case NUMA factor it might be different,
but even there it would be a good idea to at least spread it out
to nearby nodes.

-Andi

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