UNLOCK_PAGE

Section: Memory Management in Linux (9)
Updated: February 2011
Index Return to Main Contents
 

NAME

unlock_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).  

COPYRIGHT