Re: [rfc] balance-on-fork NUMA placement

From: Christoph Lameter
Date: Thu Aug 02 2007 - 21:34:30 EST


On Fri, 3 Aug 2007, Nick Piggin wrote:

> Yeah it only gets set if the parent is initially using a default policy
> at this stage (and then is restored afterwards of course).

Uggh. Looks like more hackery ahead. I think this cannot be done in the
desired clean way until we have some revving of the memory policy
subsystem that makes policies task context independent so that you can do

alloc_pages(...., memory_policy)

The cleanest solution that I can think of at this point is certainly to
switch to another processor and do the allocation and copying actions from
there. We have the migration process context right? Can that be used to
start the new thread and can the original processor wait on some flag
until that is complete?

Forking off from there not only places the data correctly but it also
warms up the caches for the new process and avoids evicting cacheline on
the original processor.
-
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/