Messages in this thread | | | From | Eric Dumazet <> | Subject | Re: [PATCH 0/3] FUTEX : new PRIVATE futexes, SMP and NUMA improvements | Date | Fri, 16 Mar 2007 10:30:17 +0100 |
| |
On Friday 16 March 2007 09:05, Peter Zijlstra wrote: > On Thu, 2007-03-15 at 20:10 +0100, Eric Dumazet wrote: > > Hi > > > > I'm pleased to present these patches which improve linux futex > > performance and scalability, on both UP, SMP and NUMA configs. > > > > I had this idea last year but I was not understood, probably because I > > gave not enough explanations. Sorry if this mail is really long... > > I started playing with it after your last reference to it, I have some > code here (against -rt): > http://programming.kicks-ass.net/kernel-patches/futex-vma-cache/ > > Which I will post once I have the found what keeps pthread_join() from > completing :-( > > It basically adds a per task vma lookup cache which can also activate > the private logic without explicit use of the new interface.
Hi Peter
I dont think yet another cache will help in the general case. A typical program uses many vmas at once...
glibc has internal futexes, on a different vma than futexes declared in your program. Each shared library is going to have its own vma for its data (and futexes)
(244 vmas on one kmail program for example)
About your guess_futex_shared() thing, I miss the vma_anon() definition. But if it has to walk the vmas (and take mmap_sem), you already loose the PRIVATE benefit. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |