aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMel Gorman <[email protected]>2014-06-04 16:10:26 -0700
committerLinus Torvalds <[email protected]>2014-06-04 16:54:09 -0700
commite3741b506c5088fa8c911bb5884c430f770fb49d (patch)
treeebbc2fa8cbd409256e743d97d428fe7930372677
parent07a427884348d38a6fd56fa4d78249c407196650 (diff)
mm: do not use atomic operations when releasing pages
There should be no references to it any more and a parallel mark should not be reordered against us. Use non-locked varient to clear page active. Signed-off-by: Mel Gorman <[email protected]> Acked-by: Rik van Riel <[email protected]> Cc: Johannes Weiner <[email protected]> Cc: Vlastimil Babka <[email protected]> Cc: Jan Kara <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: Dave Hansen <[email protected]> Cc: Theodore Ts'o <[email protected]> Cc: "Paul E. McKenney" <[email protected]> Cc: Oleg Nesterov <[email protected]> Cc: Peter Zijlstra <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--mm/swap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/swap.c b/mm/swap.c
index 11ebb9714f49..30b6a37c74af 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -901,7 +901,7 @@ void release_pages(struct page **pages, int nr, bool cold)
}
/* Clear Active bit in case of parallel mark_page_accessed */
- ClearPageActive(page);
+ __ClearPageActive(page);
list_add(&page->lru, &pages_to_free);
}