UNLOCK_PAGE(9) Memory Management in Linux UNLOCK_PAGE(9)NAMEunlock_page - unlock a locked page
SYNOPSIS
void unlock_page(struct page * page);
ARGUMENTS
page
the page
DESCRIPTION
Unlocks the page and wakes up sleepers in ___wait_on_page_locked. Also
wakes sleepers in wait_on_page_writeback because the wakeup mechananism
between PageLocked pages and PageWriteback pages is shared. But that´s
OK - sleepers in wait_on_page_writeback just go back to sleep.
The 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).
COPYRIGHTKernel Hackers Manual 2.6. November 2013 UNLOCK_PAGE(9)