mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 15:11:16 +00:00
mm: rename page trylock
Converting page lock to new locking bitops requires a change of page flag operation naming, so we might as well convert it to something nicer (!TestSetPageLocked_Lock => trylock_page, SetPageLocked => set_page_locked). This also facilitates lockdeping of page lock. Signed-off-by: Nick Piggin <npiggin@suse.de> Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Andrew Morton <akpm@linux-foundation.org> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e9ba969818
commit
529ae9aaa0
20 changed files with 74 additions and 59 deletions
12
mm/filemap.c
12
mm/filemap.c
|
@ -558,14 +558,14 @@ EXPORT_SYMBOL(wait_on_page_bit);
|
|||
* But that's OK - sleepers in wait_on_page_writeback() just go back to sleep.
|
||||
*
|
||||
* The first mb is necessary to safely close the critical section opened by the
|
||||
* TestSetPageLocked(), the second mb is necessary to enforce ordering between
|
||||
* the clear_bit and the read of the waitqueue (to avoid SMP races with a
|
||||
* parallel wait_on_page_locked()).
|
||||
* test_and_set_bit() to lock the page; the second mb is necessary to enforce
|
||||
* ordering between the clear_bit and the read of the waitqueue (to avoid SMP
|
||||
* races with a parallel wait_on_page_locked()).
|
||||
*/
|
||||
void unlock_page(struct page *page)
|
||||
{
|
||||
smp_mb__before_clear_bit();
|
||||
if (!TestClearPageLocked(page))
|
||||
if (!test_and_clear_bit(PG_locked, &page->flags))
|
||||
BUG();
|
||||
smp_mb__after_clear_bit();
|
||||
wake_up_page(page, PG_locked);
|
||||
|
@ -931,7 +931,7 @@ grab_cache_page_nowait(struct address_space *mapping, pgoff_t index)
|
|||
struct page *page = find_get_page(mapping, index);
|
||||
|
||||
if (page) {
|
||||
if (!TestSetPageLocked(page))
|
||||
if (trylock_page(page))
|
||||
return page;
|
||||
page_cache_release(page);
|
||||
return NULL;
|
||||
|
@ -1027,7 +1027,7 @@ find_page:
|
|||
if (inode->i_blkbits == PAGE_CACHE_SHIFT ||
|
||||
!mapping->a_ops->is_partially_uptodate)
|
||||
goto page_not_up_to_date;
|
||||
if (TestSetPageLocked(page))
|
||||
if (!trylock_page(page))
|
||||
goto page_not_up_to_date;
|
||||
if (!mapping->a_ops->is_partially_uptodate(page,
|
||||
desc, offset))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue