函数逻辑报告 |
Source Code:mm\filemap.c |
Create Date:2022-07-27 15:24:44 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: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.
函数原型:struct page *pagecache_get_page(struct address_space *mapping, unsigned long offset, int fgp_flags, gfp_t gfp_mask)
返回类型:struct page
参数:
类型 | 参数 | 名称 |
---|---|---|
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 | 如果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.则page = NULL |
1642 | 如果fgp_flags按位与FGP_NOWAIT则 |
1647 | 否则 |
1655 | 转到:repeat |
1657 | VM_BUG_ON_PAGE( Our offset within mapping. != offset, page) |
1660 | 如果fgp_flags按位与FGP_ACCESSED则mark_page_accessed(page) |
1663 | no_page : |
1671 | page等于__page_cache_alloc(gfp_mask) |
1672 | 如果非page则返回:NULL |
1675 | 如果WARN_ON_ONCE(!(fgp_flags & (FGP_LOCK | FGP_FOR_MMAP)))则fgp_flags或等于FGP_LOCK |
1679 | 如果fgp_flags按位与FGP_ACCESSED则__SetPageReferenced(page) |
1683 | 如果此条件成立可能性小(为编译器优化)(err)则 |
1698 | 返回:page |
名称 | 描述 |
---|---|
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 | d_lock_page - locate, pin and lock a pagecache page*@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 locked and with an increased* refcount. |
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 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |