Messages in this thread |  | | | Date | Wed, 4 Apr 2007 13:54:58 +0200 | | From | Eric Dumazet <> | | Subject | Re: missing madvise functionality |
| |
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.
- 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/
|  |