函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

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

函数原型:static void wait_entry_unlocked(struct xa_state *xas, void *entry)

返回类型:void

参数:

类型参数名称
struct xa_state *xas
void *entry
251  init_wait( & wait)
252  func等于wake_exceptional_entry_func
254  wq等于dax_entry_waitqueue(xas, entry, & key)
261  Note: we use "set_current_state()" _after_ the wait-queue add,* because we need a memory barrier there on SMP, so that any* wake-function that tests for the wait-queue being active* will be guaranteed to see waitqueue addition _or_ subsequent
262  xas_unlock_irq(xas)
263  进程调度
264  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.
调用者
名称描述
dax_lock_pagedax_lock_mapping_entry - Lock the DAX entry corresponding to a page*@page: The page whose entry we want to lock* Context: Process context.* Return: A cookie to pass to dax_unlock_page() or 0 if the entry could* not be locked.