linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm/rmap: remove unnecessary page_table_lock
@ 2024-04-22 10:52 Yajun Deng
  2024-04-22 11:24 ` Qi Zheng
       [not found] ` <b848c431-deca-42e4-925c-673b3fa1f251@redhat.com>
  0 siblings, 2 replies; 7+ messages in thread
From: Yajun Deng @ 2024-04-22 10:52 UTC (permalink / raw)
  To: akpm; +Cc: linux-mm, linux-kernel, Yajun Deng

page_table_lock is a lock that for page table, we won't change page
table in __anon_vma_prepare(). As we can see, it works well in
anon_vma_clone(). They do the same operation.

Remove unnecessary page_table_lock in __anon_vma_prepare().

Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
---
 mm/rmap.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/mm/rmap.c b/mm/rmap.c
index 2608c40dffad..e894640a9327 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -187,7 +187,6 @@ static void anon_vma_chain_link(struct vm_area_struct *vma,
  */
 int __anon_vma_prepare(struct vm_area_struct *vma)
 {
-	struct mm_struct *mm = vma->vm_mm;
 	struct anon_vma *anon_vma, *allocated;
 	struct anon_vma_chain *avc;
 
@@ -208,8 +207,6 @@ int __anon_vma_prepare(struct vm_area_struct *vma)
 	}
 
 	anon_vma_lock_write(anon_vma);
-	/* page_table_lock to protect against threads */
-	spin_lock(&mm->page_table_lock);
 	if (likely(!vma->anon_vma)) {
 		vma->anon_vma = anon_vma;
 		anon_vma_chain_link(vma, avc, anon_vma);
@@ -217,7 +214,6 @@ int __anon_vma_prepare(struct vm_area_struct *vma)
 		allocated = NULL;
 		avc = NULL;
 	}
-	spin_unlock(&mm->page_table_lock);
 	anon_vma_unlock_write(anon_vma);
 
 	if (unlikely(allocated))
-- 
2.25.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-04-24  3:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-22 10:52 [PATCH] mm/rmap: remove unnecessary page_table_lock Yajun Deng
2024-04-22 11:24 ` Qi Zheng
     [not found] ` <b848c431-deca-42e4-925c-673b3fa1f251@redhat.com>
2024-04-23  7:53   ` Yajun Deng
2024-04-23  8:18     ` David Hildenbrand
2024-04-23  8:35       ` Yajun Deng
2024-04-23 17:11         ` Liam R. Howlett
2024-04-24  3:04           ` Yajun Deng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox