Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 21 Nov 2012 12:04:25 -1000 | Subject | Re: [PATCH 00/27] Latest numa/core release, v16 |
| |
On Wed, Nov 21, 2012 at 7:10 AM, Ingo Molnar <mingo@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
| |