Messages in this thread Patch in this message | | | From | Minchan Kim <> | Subject | [RFC] remove page_table_lock in anon_vma_prepare | Date | Fri, 5 Jun 2009 23:35:53 +0900 |
| |
As I looked over the page_table_lock, it related to page table not anon_vma
I think anon_vma->lock can protect race against threads. Do I miss something ?
If I am right, we can remove unnecessary page_table_lock holding in anon_vma_prepare. We can get performance benefit.
Signed-off-by: Minchan Kim <minchan.kim@gmail.com> Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk> Cc: Rik van Riel <riel@redhat.com> Cc: Nick Piggin <npiggin@suse.de> --- mm/rmap.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/mm/rmap.c b/mm/rmap.c index b5c6e12..65b4877 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -113,14 +113,11 @@ int anon_vma_prepare(struct vm_area_struct *vma) } spin_lock(&anon_vma->lock); - /* page_table_lock to protect against threads */ - spin_lock(&mm->page_table_lock); if (likely(!vma->anon_vma)) { vma->anon_vma = anon_vma; list_add_tail(&vma->anon_vma_node, &anon_vma->head); allocated = NULL; } - spin_unlock(&mm->page_table_lock); spin_unlock(&anon_vma->lock); if (unlikely(allocated)) -- 1.5.6.5
| |