函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\filemap.c Create Date:2022-07-27 15:24:38
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称: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

函数原型:struct page *find_get_entry(struct address_space *mapping, unsigned long offset)

返回类型:struct page

参数:

类型参数名称
struct address_space *mapping
unsigned longoffset
1527  XA_STATE() - Declare an XArray operation state.*@name: Name of this operation state (usually xas).*@array: Array to operate on.*@index: Initial index of interest.* Declare and initialise an xa_state on the stack.(xas, & i_pages, offset)
1530  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
1531  repeat :
1532  xas_reset() - Reset an XArray operation state.*@xas: XArray operation state.* Resets the error or walk state of the @xas so future walks of the* array will start from the root. Use this if you have dropped the* xarray lock and want to reuse the xa_state.
1533  page等于xas_load() - Load an entry from the XArray (advanced).*@xas: XArray operation state.* Usually walks the @xas to the appropriate state to load the entry* stored at xa_index. However, it will do nothing and return %NULL if*@xas is in an error state
1534  如果xas_retry() - Retry the operation if appropriate.*@xas: XArray operation state.*@entry: Entry from xarray.* The advanced functions may sometimes return an internal entry, such as* a retry entry or a zero entry. This function sets up the @xas to restart则转到:repeat
1540  如果非pagexa_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.则转到:out
1543  如果非page_cache_get_speculative(page)则转到:repeat
1551  如果此条件成立可能性小(为编译器优化)(page != xas_reload() - Refetch an entry from the xarray)则
1552  put_page(page)
1553  转到:repeat
1555  page等于find_subpage(page, offset)
1556  out :
1557  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
1559  返回:page
调用者
名称描述
find_lock_entryd_lock_entry - locate, pin and lock a page cache entry*@mapping: the address_space to search*@offset: the page cache 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
pagecache_get_pagepagecache_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.