PATCH 1/2] rmap: cleanup anon_vma_prepare
Subsystems (2)
Using the common function anon_vma_chain_link() to link vma and anon_vma
--- mm/rmap.c | 35 ++++++++++++++++------------------- 1 files changed, 16 insertions(+), 19 deletions(-)
mm/rmap.c +16 -19
@@ -120,6 +120,21 @@ static void anon_vma_chain_free(struct anon_vma_chain *anon_vma_chain)kmem_cache_free (anon_vma_chain_cachep, anon_vma_chain); } +static void anon_vma_chain_link (struct vm_area_struct *vma, +struct anon_vma_chain *avc, +struct anon_vma *anon_vma) +{ + avc->vma = vma; + avc->anon_vma = anon_vma; +list_add (&avc->same_vma, &vma->anon_vma_chain); + +/* +* It's critical to add new vmas to the tail of the anon_vma, +* see comment in huge_memory.c:__split_huge_page(). +*/ +list_add_tail (&avc->same_anon_vma, &anon_vma->head); +} +/** * anon_vma_prepare - attach an anon_vma to a memory region * @vma: the memory region in question
@@ -175,10 +190,7 @@ int anon_vma_prepare(struct vm_area_struct *vma)spin_lock (&mm->page_table_lock);if (likely (!vma->anon_vma)) { vma->anon_vma = anon_vma; - avc->anon_vma = anon_vma; - avc->vma = vma; -list_add (&avc->same_vma, &vma->anon_vma_chain); -list_add_tail (&avc->same_anon_vma, &anon_vma->head); +anon_vma_chain_link (vma, avc, anon_vma); allocated =NULL ; avc =NULL ; }
@@ -224,21 +236,6 @@ static inline void unlock_anon_vma_root(struct anon_vma *root)mutex_unlock (&root->mutex); } -static void anon_vma_chain_link (struct vm_area_struct *vma, -struct anon_vma_chain *avc, -struct anon_vma *anon_vma) -{ - avc->vma = vma; - avc->anon_vma = anon_vma; -list_add (&avc->same_vma, &vma->anon_vma_chain); - -/* -* It's critical to add new vmas to the tail of the anon_vma, -* see comment in huge_memory.c:__split_huge_page(). -*/ -list_add_tail (&avc->same_anon_vma, &anon_vma->head); -} -/* * Attach the anon_vmas from src to dst. * Returns 0 on success, -ENOMEM on failure.
Signature · 1 line
1.7.7.6
PATCH 2/2 rmap: remove __anon_vma_link
This declaration is not used anymore, remove it
--- include/linux/rmap.h | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)
include/linux/rmap.h +0 -1
@@ -122,7 +122,6 @@ void unlink_anon_vmas(struct vm_area_struct *);int anon_vma_clone (struct vm_area_struct *,struct vm_area_struct *);void anon_vma_moveto_tail (struct vm_area_struct *);int anon_vma_fork (struct vm_area_struct *,struct vm_area_struct *); -void __anon_vma_link (struct vm_area_struct *);static inline void anon_vma_merge (struct vm_area_struct *vma,struct vm_area_struct *next)
Signature · 8 lines
1.7.7.6 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Re: [PATCH 2/2] rmap: remove __anon_vma_link
Quoted 3 lines · Xiao Guangrong
This declaration is not used anymore, remove it
Signed-off-by Xiao Guangrong <[email protected]>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Sorry for the title typo, repost it.
-------------------->
Subject: [PATCH 1/2] rmap: cleanup anon_vma_prepare
Using the common function anon_vma_chain_link() to link vma and anon_vma
--- mm/rmap.c | 35 ++++++++++++++++------------------- 1 files changed, 16 insertions(+), 19 deletions(-)
mm/rmap.c +16 -19
@@ -120,6 +120,21 @@ static void anon_vma_chain_free(struct anon_vma_chain *anon_vma_chain)kmem_cache_free (anon_vma_chain_cachep, anon_vma_chain); } +static void anon_vma_chain_link (struct vm_area_struct *vma, +struct anon_vma_chain *avc, +struct anon_vma *anon_vma) +{ + avc->vma = vma; + avc->anon_vma = anon_vma; +list_add (&avc->same_vma, &vma->anon_vma_chain); + +/* +* It's critical to add new vmas to the tail of the anon_vma, +* see comment in huge_memory.c:__split_huge_page(). +*/ +list_add_tail (&avc->same_anon_vma, &anon_vma->head); +} +/** * anon_vma_prepare - attach an anon_vma to a memory region * @vma: the memory region in question
@@ -175,10 +190,7 @@ int anon_vma_prepare(struct vm_area_struct *vma)spin_lock (&mm->page_table_lock);if (likely (!vma->anon_vma)) { vma->anon_vma = anon_vma; - avc->anon_vma = anon_vma; - avc->vma = vma; -list_add (&avc->same_vma, &vma->anon_vma_chain); -list_add_tail (&avc->same_anon_vma, &anon_vma->head); +anon_vma_chain_link (vma, avc, anon_vma); allocated =NULL ; avc =NULL ; }
@@ -224,21 +236,6 @@ static inline void unlock_anon_vma_root(struct anon_vma *root)mutex_unlock (&root->mutex); } -static void anon_vma_chain_link (struct vm_area_struct *vma, -struct anon_vma_chain *avc, -struct anon_vma *anon_vma) -{ - avc->vma = vma; - avc->anon_vma = anon_vma; -list_add (&avc->same_vma, &vma->anon_vma_chain); - -/* -* It's critical to add new vmas to the tail of the anon_vma, -* see comment in huge_memory.c:__split_huge_page(). -*/ -list_add_tail (&avc->same_anon_vma, &anon_vma->head); -} -/* * Attach the anon_vmas from src to dst. * Returns 0 on success, -ENOMEM on failure.
Signature · 8 lines
1.7.7.6 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
David Rientjes
Acked-byQuoted 8 lines · Xiao Guangrong
Sorry for the title typo, repost it.
-------------------->
Subject: [PATCH 1/2] rmap: cleanupanon_vma_prepareUsing the common function
anon_vma_chain_link()to link vma andanon_vmaSigned-off-by Xiao Guangrong <[email protected]>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>