函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\dax.c Create Date:2022-07-29 10:56:19
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:dax_entry_waitqueue

函数原型:static wait_queue_head_t *dax_entry_waitqueue(struct xa_state *xas, void *entry, struct exceptional_entry_key *key)

返回类型:wait_queue_head_t

参数:

类型参数名称
struct xa_state *xas
void *entry
struct exceptional_entry_key *key
151  index等于xa_index
158  如果dax_is_pmd_entry(entry)则index与等于The 'colour' (ie low bits) within a PMD of a page offset. 的反
160  xa等于xa
161  entry_start等于index
163  hash等于hash_long((unsignedlong)xa ^ index, We choose 4096 entries - same as per-zone page wait tables )
164  返回:wait_tablehash
调用者
名称描述
dax_wake_entry@entry may no longer be the entry at the index in the mapping.* The important information it's conveying is whether the entry at* this index used to be a PMD entry.
get_unlocked_entryLook up entry in page cache, wait for it to become unlocked if it* is a DAX entry and return it. The caller must subsequently call* put_unlocked_entry() if it did not lock the entry or dax_unlock_entry()* if it did
wait_entry_unlockedThe only thing keeping the address space around is the i_pages lock* (it's cycled in clear_inode() after removing the entries from i_pages)* After we call xas_unlock_irq(), we cannot touch xas->xa.