aboutsummaryrefslogtreecommitdiffstats
path: root/mm/mmap.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2011-05-24 20:12:11 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-05-25 11:39:19 -0400
commit2b575eb64f7a9c701fb4bfdb12388ac547f6c2b6 (patch)
tree965739cbf570567a26f1512ae9a9fe35ce1afbed /mm/mmap.c
parent746b18d421da7f27e948e8af1ad82b6d0309324d (diff)
mm: convert anon_vma->lock to a mutex
Straightforward conversion of anon_vma->lock to a mutex. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Hugh Dickins <hughd@google.com> Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: David Miller <davem@davemloft.net> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Jeff Dike <jdike@addtoit.com> Cc: Richard Weinberger <richard@nod.at> Cc: Tony Luck <tony.luck@intel.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Mel Gorman <mel@csn.ul.ie> Cc: Nick Piggin <npiggin@kernel.dk> Cc: Namhyung Kim <namhyung@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/mmap.c')
-rw-r--r--mm/mmap.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/mm/mmap.c b/mm/mmap.c
index 26efbfca0b20..ac2631b7477f 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2502,15 +2502,15 @@ static void vm_lock_anon_vma(struct mm_struct *mm, struct anon_vma *anon_vma)
2502 * The LSB of head.next can't change from under us 2502 * The LSB of head.next can't change from under us
2503 * because we hold the mm_all_locks_mutex. 2503 * because we hold the mm_all_locks_mutex.
2504 */ 2504 */
2505 spin_lock_nest_lock(&anon_vma->root->lock, &mm->mmap_sem); 2505 mutex_lock_nest_lock(&anon_vma->root->mutex, &mm->mmap_sem);
2506 /* 2506 /*
2507 * We can safely modify head.next after taking the 2507 * We can safely modify head.next after taking the
2508 * anon_vma->root->lock. If some other vma in this mm shares 2508 * anon_vma->root->mutex. If some other vma in this mm shares
2509 * the same anon_vma we won't take it again. 2509 * the same anon_vma we won't take it again.
2510 * 2510 *
2511 * No need of atomic instructions here, head.next 2511 * No need of atomic instructions here, head.next
2512 * can't change from under us thanks to the 2512 * can't change from under us thanks to the
2513 * anon_vma->root->lock. 2513 * anon_vma->root->mutex.
2514 */ 2514 */
2515 if (__test_and_set_bit(0, (unsigned long *) 2515 if (__test_and_set_bit(0, (unsigned long *)
2516 &anon_vma->root->head.next)) 2516 &anon_vma->root->head.next))
@@ -2559,7 +2559,7 @@ static void vm_lock_mapping(struct mm_struct *mm, struct address_space *mapping)
2559 * vma in this mm is backed by the same anon_vma or address_space. 2559 * vma in this mm is backed by the same anon_vma or address_space.
2560 * 2560 *
2561 * We can take all the locks in random order because the VM code 2561 * We can take all the locks in random order because the VM code
2562 * taking i_mmap_mutex or anon_vma->lock outside the mmap_sem never 2562 * taking i_mmap_mutex or anon_vma->mutex outside the mmap_sem never
2563 * takes more than one of them in a row. Secondly we're protected 2563 * takes more than one of them in a row. Secondly we're protected
2564 * against a concurrent mm_take_all_locks() by the mm_all_locks_mutex. 2564 * against a concurrent mm_take_all_locks() by the mm_all_locks_mutex.
2565 * 2565 *
@@ -2615,7 +2615,7 @@ static void vm_unlock_anon_vma(struct anon_vma *anon_vma)
2615 * 2615 *
2616 * No need of atomic instructions here, head.next 2616 * No need of atomic instructions here, head.next
2617 * can't change from under us until we release the 2617 * can't change from under us until we release the
2618 * anon_vma->root->lock. 2618 * anon_vma->root->mutex.
2619 */ 2619 */
2620 if (!__test_and_clear_bit(0, (unsigned long *) 2620 if (!__test_and_clear_bit(0, (unsigned long *)
2621 &anon_vma->root->head.next)) 2621 &anon_vma->root->head.next))