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 |