On Wed, Nov 21, 2012 at 7:10 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote: > > Because scalability slowdowns are often non-linear. Only if you hold locks or have other non-cpu-private activity. Which the vsyscall code really shouldn't have. That said, it might be worth removing the "prefetchw(&mm->mmap_sem)" from the VM fault path. Partly because software prefetches have never ever worked on any reasonable hardware, and partly because it could seriously screw up things like the vsyscall stuff. I think we only turn prefetchw into an actual prefetch instruction on 3DNOW hardware. Which is the *old* AMD chips. I don't think even the Athlon does that. Anyway, it might be interesting to see a instruction-level annotated profile of do_page_fault() or whatever > So with CONFIG_NUMA_BALANCING=y we are taking a higher page > fault rate, in exchange for a speedup. The thing is, so is autonuma. And autonuma doesn't show any of these problems. Autonuma didn't need vsyscall hacks, autonuma didn't need TLB flushing optimizations, autonuma just *worked*, and in fact got big speedups when Mel did the exact same loads on that same machine, presumably with all the same issues.. Why are you ignoring that fact? Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>