Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Look 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

Proto:static void *get_unlocked_entry(struct xa_state *xas, unsigned int order)

Type:void

Parameter:

TypeParameterName
struct xa_state *xas
unsigned intorder
218  init_wait( & wait)
219  func = wake_exceptional_entry_func
221  cycle
222  entry = xas_find_conflict() - Find the next present entry in a range.*@xas: XArray operation state.* The @xas describes both a range and a position within that range.* Context: Any context. Expects xa_lock to be held.
223  If Not entry || WARN_ON_ONCE(!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 Return entry
225  If dax_entry_order(entry) < order Then Return XA_RETRY_ENTRY
227  If Not dax_is_locked(entry) Then Return entry
230  wq = dax_entry_waitqueue(xas, entry, & key)
231  prepare_to_wait_exclusive(wq, & wait, TASK_UNINTERRUPTIBLE)
233  xas_unlock_irq(xas)
234  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.
235  schedule()
236  sh_wait - clean up after waiting in a queue*@wq_head: waitqueue waited on*@wq_entry: wait descriptor* Sets current thread back to running state and removes* the wait descriptor from the given waitqueue if still* queued.
237  xas_lock_irq(xas)
Caller
NameDescribe
grab_mapping_entryFind page cache entry at given index. If it is a DAX entry, return it* with the entry locked. If the page cache doesn't contain an entry at* that index, add a locked empty entry.* When requesting an entry with size DAX_PMD, grab_mapping_entry() will
dax_layout_busy_pagedax_layout_busy_page - find first pinned page in @mapping*@mapping: address space to scan for a page with ref count > 1* DAX requires ZONE_DEVICE mapped pages. These pages are never* 'onlined' to the page allocator so they are considered idle when
__dax_invalidate_entry
dax_writeback_one
dax_insert_pfn_mkwritedax_insert_pfn_mkwrite - insert PTE or PMD entry into page tables*@vmf: The description of the fault*@pfn: PFN to insert*@order: Order of entry to insert.* This function inserts a writeable PTE or PMD entry into the page tables* for an mmaped DAX file