On Wed, Nov 21, 2012 at 7:10 AM, Ingo Molnar <mi...@kernel.org> 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/