On Mon, Mar 12, 2007 at 04:12:32AM -0700, Christoph Lameter wrote: > On Sun, 11 Mar 2007, David Miller wrote: > > The reason is that every time I've monitored the allocation patterns > > of these things on SMP, the page table chunks always get released on a > > different cpu than where they were initialized. > > But its even advantageous in that case for sparse allocs. We have a written a little LD_PRELOAD library which intercepts fork() et. al. and migrates the task to a different cpu, pins itself to only that cpu, then does the user requested call, upon return from the call, the task is migrated back to the original cpu and the original allowed cpus is restored. With that library, we find a few advantages, mainly, the task_struct and page tables are allocated node local to the task. As long as the task does not change its allowed cpus mask, they are also freed on the same cpu which allocated them. Thanks, Robin - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |