Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

unlock_page(9) [centos man page]

UNLOCK_PAGE(9)						    Memory Management in Linux						    UNLOCK_PAGE(9)

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
Kernel Hackers Manual 3.10 June 2014 UNLOCK_PAGE(9)

Check Out this Related Man Page

WRITE_CACHE_PAGES(9)					    Memory Management in Linux					      WRITE_CACHE_PAGES(9)

write_cache_pages - walk the list of dirty pages of the given address space and write all of them. SYNOPSIS
int write_cache_pages(struct address_space * mapping, struct writeback_control * wbc, writepage_t writepage, void * data); ARGUMENTS
mapping address space structure to write wbc subtract the number of written pages from *wbc->nr_to_write writepage function called for each page data data passed to writepage function DESCRIPTION
If a page is already under I/O, write_cache_pages skips it, even if it's dirty. This is desirable behaviour for memory-cleaning writeback, but it is INCORRECT for data-integrity system calls such as fsync. fsync and msync need to guarantee that all the data which was dirty at the time the call was made get new I/O started against them. If wbc->sync_mode is WB_SYNC_ALL then we were called for data integrity and we must wait for existing IO to complete. To avoid livelocks (when other process dirties new pages), we first tag pages which should be written back with TOWRITE tag and only then start writing them. For data-integrity sync we have to be careful so that we do not miss some pages (e.g., because some other process has cleared TOWRITE tag we set). The rule we follow is that TOWRITE tag can be cleared only by the process clearing the DIRTY tag (and submitting the page for IO). COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 WRITE_CACHE_PAGES(9)
Man Page

Featured Tech Videos