find_or_create_page
Prev | More Memory Management Functions | Next

## Name

find_or_create_page — locate or add a pagecache page

## Synopsis

`struct page * find_or_create_page (` | struct address_space * | mapping,
| unsigned long | index,
| gfp_t | gfp_mask`)`;

## Arguments

`mapping`

  the page's address_space

`index`

  the page's index into the mapping

`gfp_mask`

  page allocation mode

## Description

Locates a page in the pagecache. If the page is not present, a new page is allocated using `gfp_mask` and is added to the pagecache and to the VM's LRU list. The returned page is locked and has its reference count incremented.

`find_or_create_page` may sleep, even if `gfp_flags` specifies an atomic allocation!

`find_or_create_page` returns the desired page's address, or zero on memory exhaustion.

Prev | Up | Next
find_lock_page | Home | find_get_pages_contig