Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\dax.c Create Date:2022-07-28 20:23:10
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:dax_entry_waitqueue

Proto:static wait_queue_head_t *dax_entry_waitqueue(struct xa_state *xas, void *entry, struct exceptional_entry_key *key)

Type:wait_queue_head_t

Parameter:

TypeParameterName
struct xa_state *xas
void *entry
struct exceptional_entry_key *key
151  index = xa_index
158  If dax_is_pmd_entry(entry) Then 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  Return wait_table + hash
Caller
NameDescribe
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.