Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

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

Proto:struct page *dax_layout_busy_page(struct address_space *mapping)

Type:struct page

Parameter:

TypeParameterName
struct address_space *mapping
578  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, 0)
580  scanned = 0
581  struct page * page = NULL
586  If IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_FS_DAX_LIMITED) Then Return NULL
589  If Not dax_mapping(mapping) || Not Might pages of this file be mapped into userspace? Then Return NULL
604  map_mapping_range - unmap the portion of all mmaps in the specified* address_space corresponding to the specified byte range in the underlying* file
606  xas_lock_irq( & xas)
608  If 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 Continue
610  If Value for the false possibility is greater at compile time(dax_is_locked(entry)) Then entry = 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
612  If entry Then page = dax_busy_page(entry)
614  put_unlocked_entry( & xas, entry)
615  If page Then Break
617  If ++scanned % XA_CHECK_SCHED Then Continue
620  xas_pause() - Pause a walk to drop a lock.*@xas: XArray operation state.* Some users need to pause a walk and drop the lock they're holding in* order to yield to a higher priority thread or carry out an operation* on an entry
621  xas_unlock_irq( & xas)
622  cond_resched()
623  xas_lock_irq( & xas)
625  xas_unlock_irq( & xas)
626  Return page