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  |