Peter Zijlstra wrote: > On Wed, 2007-04-04 at 12:22 +1000, Nick Piggin wrote: > >>Eric Dumazet wrote: > > >>>I do think such workloads might benefit from a vma_cache not shared by >>>all threads but private to each thread. A sequence could invalidate the >>>cache(s). >>> >>>ie instead of a mm->mmap_cache, having a mm->sequence, and each thread >>>having a current->mmap_cache and current->mm_sequence >> >>I have a patchset to do exactly this, btw. > > > /me too > > However, I decided against pushing it because when it does happen that a > task is not involved with a vma lookup for longer than it takes the seq > count to wrap we have a stale pointer... > > We could go and walk the tasks once in a while to reset the pointer, but > it all got a tad involved. Well here is my core patch (against I think 2.6.16 + a set of vma cache cleanups and abstractions). I didn't think the wrapping aspect was terribly involved. -- SUSE Labs, Novell Inc.