aboutsummaryrefslogtreecommitdiffstats
path: root/mm/filemap.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-03 15:57:53 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-03 15:57:53 -0400
commit776edb59317ada867dfcddde40b55648beeb0078 (patch)
treef6a6136374642323cfefd7d6399ea429f9018ade /mm/filemap.c
parent59a3d4c3631e553357b7305dc09db1990aa6757c (diff)
parent3cf2f34e1a3d4d5ff209d087925cf950e52f4805 (diff)
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
Pull core locking updates from Ingo Molnar: "The main changes in this cycle were: - reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures - add rwsem implementation comments - bump up lockdep limits" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits) rwsem: Add comments to explain the meaning of the rwsem's count field lockdep: Increase static allocations arch: Mass conversion of smp_mb__*() arch,doc: Convert smp_mb__*() arch,xtensa: Convert smp_mb__*() arch,x86: Convert smp_mb__*() arch,tile: Convert smp_mb__*() arch,sparc: Convert smp_mb__*() arch,sh: Convert smp_mb__*() arch,score: Convert smp_mb__*() arch,s390: Convert smp_mb__*() arch,powerpc: Convert smp_mb__*() arch,parisc: Convert smp_mb__*() arch,openrisc: Convert smp_mb__*() arch,mn10300: Convert smp_mb__*() arch,mips: Convert smp_mb__*() arch,metag: Convert smp_mb__*() arch,m68k: Convert smp_mb__*() arch,m32r: Convert smp_mb__*() arch,ia64: Convert smp_mb__*() ...
Diffstat (limited to 'mm/filemap.c')
-rw-r--r--mm/filemap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/filemap.c b/mm/filemap.c
index 088358c8006b..021056c324e6 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -742,7 +742,7 @@ void unlock_page(struct page *page)
742{ 742{
743 VM_BUG_ON_PAGE(!PageLocked(page), page); 743 VM_BUG_ON_PAGE(!PageLocked(page), page);
744 clear_bit_unlock(PG_locked, &page->flags); 744 clear_bit_unlock(PG_locked, &page->flags);
745 smp_mb__after_clear_bit(); 745 smp_mb__after_atomic();
746 wake_up_page(page, PG_locked); 746 wake_up_page(page, PG_locked);
747} 747}
748EXPORT_SYMBOL(unlock_page); 748EXPORT_SYMBOL(unlock_page);
@@ -759,7 +759,7 @@ void end_page_writeback(struct page *page)
759 if (!test_clear_page_writeback(page)) 759 if (!test_clear_page_writeback(page))
760 BUG(); 760 BUG();
761 761
762 smp_mb__after_clear_bit(); 762 smp_mb__after_atomic();
763 wake_up_page(page, PG_writeback); 763 wake_up_page(page, PG_writeback);
764} 764}
765EXPORT_SYMBOL(end_page_writeback); 765EXPORT_SYMBOL(end_page_writeback);