Messages in this thread | | | Date | Mon, 3 May 2010 02:28:56 +0900 | Subject | Re: [PATCH 1/2] mm: Take all anon_vma locks in anon_vma_lock | From | Minchan Kim <> |
| |
On Thu, Apr 29, 2010 at 5:32 PM, Mel Gorman <mel@csn.ul.ie> wrote: > From: Rik van Riel <riel@redhat.com> > > Take all the locks for all the anon_vmas in anon_vma_lock, this properly > excludes migration and the transparent hugepage code from VMA changes done > by mmap/munmap/mprotect/expand_stack/etc... > > Unfortunately, this requires adding a new lock (mm->anon_vma_chain_lock), > otherwise we have an unavoidable lock ordering conflict. This changes the > locking rules for the "same_vma" list to be either mm->mmap_sem for write, > or mm->mmap_sem for read plus the new mm->anon_vma_chain lock. This limits > the place where the new lock is taken to 2 locations - anon_vma_prepare and > expand_downwards. > > Document the locking rules for the same_vma list in the anon_vma_chain and > remove the anon_vma_lock call from expand_upwards, which does not need it. > > Signed-off-by: Rik van Riel <riel@redhat.com> Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
I like this one.
Although it try to lock the number of anon_vmas attached to a VMA , it's small so latency couldn't be big. :) It's height problem not width problem of tree. :)
Thanks, Rik. -- Kind regards, Minchan Kim -- 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/
| |