aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-11-03 22:25:08 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-11-03 22:25:08 -0800
commitb60ee714f871e2b4d360027de3a1206eef3d1670 (patch)
tree3703d6a4248b898fd3d79e44026da6be2cd8a775 /mm
parent59847ec6c0c246d98754762324757a831dfd16d0 (diff)
downloadhistory-b60ee714f871e2b4d360027de3a1206eef3d1670.tar.gz
[PATCH] PG_writeback: fix waitqueue_active memory barrier
The spin_unlock() in rotate_reclaimable_page() is not a sufficient memory barrier. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/filemap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/filemap.c b/mm/filemap.c
index ef66a725b83128..ab211415faa196 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -420,8 +420,8 @@ void end_page_writeback(struct page *page)
if (!TestClearPageReclaim(page) || rotate_reclaimable_page(page)) {
if (!test_clear_page_writeback(page))
BUG();
- smp_mb__after_clear_bit();
}
+ smp_mb__after_clear_bit();
wake_up_page(page, PG_writeback);
}