Function report |
Source Code:mm\filemap.c |
Create Date:2022-07-28 14:01:53 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:pagecache_get_page - find and get a page reference*@mapping: the address_space to search*@offset: the page index*@fgp_flags: PCG flags*@gfp_mask: gfp mask to use for the page cache data page allocation* Looks up the page cache slot at @mapping & @offset.
Proto:struct page *pagecache_get_page(struct address_space *mapping, unsigned long offset, int fgp_flags, gfp_t gfp_mask)
Type:struct page
Parameter:
Type | Parameter | Name |
---|---|---|
struct address_space * | mapping | |
unsigned long | offset | |
int | fgp_flags | |
gfp_t | gfp_mask |
1634 | repeat : |
1635 | page = d_get_entry - find and get a page cache entry*@mapping: the address_space to search*@offset: the page cache index* Looks up the page cache slot at @mapping & @offset |
1636 | If xa_is_value() - Determine if an entry is a value.*@entry: XArray entry.* Context: Any context.* Return: True if the entry is a value, false if it is a pointer. Then page = NULL |
1642 | If fgp_flags & FGP_NOWAIT Then |
1643 | If Not Return true if the page was successfully locked Then |
1647 | Else |
1655 | Go to repeat |
1657 | VM_BUG_ON_PAGE( Our offset within mapping. != offset, page) |
1660 | If fgp_flags & FGP_ACCESSED Then mark_page_accessed(page) |
1663 | no_page : |
1666 | If fgp_flags & FGP_WRITE && mapping_cap_account_dirty(mapping) Then gfp_mask |= __GFP_WRITE |
1671 | page = __page_cache_alloc(gfp_mask) |
1672 | If Not page Then Return NULL |
1675 | If WARN_ON_ONCE(!(fgp_flags & (FGP_LOCK | FGP_FOR_MMAP))) Then fgp_flags |= FGP_LOCK |
1679 | If fgp_flags & FGP_ACCESSED Then __SetPageReferenced(page) |
1698 | Return page |
Name | Describe |
---|---|
filemap_fault | lemap_fault - read in file data for page fault handling*@vmf: struct vm_fault containing details of the fault* filemap_fault() is invoked via the vma operations vector for a* mapped memory region to read in file data during a page fault |
grab_cache_page_write_begin | Find or create a page at the given pagecache position. Return the locked* page. This function is specifically for buffered writes. |
find_get_page | d_get_page - find and get a page reference*@mapping: the address_space to search*@offset: the page index* Looks up the page cache slot at @mapping & @offset. If there is a* page cache page, it is returned with an increased refcount. |
find_get_page_flags | |
find_lock_page | locate, pin and lock a pagecache page |
find_or_create_page | d_or_create_page - locate or add a pagecache page*@mapping: the page's address_space*@index: the page's index into the mapping*@gfp_mask: page allocation mode* Looks up the page cache slot at @mapping & @offset |
grab_cache_page_nowait | grab_cache_page_nowait - returns locked page at given index in given cache*@mapping: target address_space*@index: the page index* Same as grab_cache_page(), but do not wait if the page is unavailable |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |