Messages in this thread | | | Date | Thu, 05 Apr 2007 12:01:03 +1000 | From | Nick Piggin <> | Subject | Re: missing madvise functionality |
| |
Eric Dumazet wrote: > On Wed, 04 Apr 2007 20:05:54 +1000 > Nick Piggin <nickpiggin@yahoo.com.au> wrote: > >>>@@ -1638,7 +1652,7 @@ find_extend_vma(struct mm_struct * mm, u >>> unsigned long start; >>> >>> addr &= PAGE_MASK; >>>- vma = find_vma(mm,addr); >>>+ vma = find_vma(mm,addr,¤t->vmacache); >>> if (!vma) >>> return NULL; >>> if (vma->vm_start <= addr) >> >>So now you can have current calling find_extend_vma on someone else's mm >>but using their cache. So you're going to return current's vma, or current >>is going to get one of mm's vmas in its cache :P > > > This was not a working patch, just to throw the idea, since the answers I got showed I was not understood. > > In this case, find_extend_vma() should of course have one struct vm_area_cache * argument, like find_vma() > > One single cache on one mm is not scalable. oprofile badly hits it on a dual cpu config.
Oh, what sort of workload are you using to show this? The only reason that I didn't submit my thread cache patches was that I didn't show a big enough improvement.
-- SUSE Labs, Novell Inc. - 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/
| |