lkml.org 
[lkml]   [2011]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH]mmap: avoid unnecessary anon_vma lock
On Tue, Mar 29, 2011 at 03:35:17PM -0700, Andrew Morton wrote:
> On Mon, 28 Mar 2011 09:57:39 -0700
> Andi Kleen <andi@firstfloor.org> wrote:
>
> > Shaohua Li <shaohua.li@intel.com> writes:
> >
> > > If we only change vma->vm_end, we can avoid taking anon_vma lock even 'insert'
> > > isn't NULL, which is the case of split_vma.
> > > From my understanding, we need the lock before because rmap must get the
> > > 'insert' VMA when we adjust old VMA's vm_end (the 'insert' VMA is linked to
> > > anon_vma list in __insert_vm_struct before).
> > > But now this isn't true any more. The 'insert' VMA is already linked to
> > > anon_vma list in __split_vma(with anon_vma_clone()) instead of
> > > __insert_vm_struct. There is no race rmap can't get required VMAs.
> > > So the anon_vma lock is unnecessary, and this can reduce one locking in brk
> > > case and improve scalability.
> >
> > Looks good to me.
>
> Looks way too tricky to me.
>
> Please review this code for maintainability. Have we documented what
> we're doing as completely and as clearly as we are able?

I agree the comments could be improved, but the code change looked good
to me. I don't think it impacts maintainability by itself because
we already do similar magic.

-Andi


\
 
 \ /
  Last update: 2011-03-30 05:27    [W:0.028 / U:1.536 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site