函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:pick the first pending entry and run it

函数原型:static void async_run_entry_fn(struct work_struct *work)

返回类型:void

参数:

类型参数名称
struct work_struct *work
111  entry等于container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(work, structasync_entry, work)
114  calltime等于calltime
117  如果initcall_debugValues used for system_state. Ordering of the states must not be changed* as code checks for <, <=, >, >= STATE.小于SYSTEM_RUNNING
118  pr_debug("calling %lli_%pS @ %i\n", (longlong)cookie, func, task_pid_nr(当前进程))
121  calltime等于ktime_get()
123  func(data, cookie)
124  如果initcall_debugValues used for system_state. Ordering of the states must not be changed* as code checks for <, <=, >, >= STATE.小于SYSTEM_RUNNING
125  rettime等于ktime_get()
126  delta等于Subtract two ktime_t variables. rem = lhs -rhs: (rettime, calltime)
127  pr_debug("initcall %lli_%pS returned 0 after %lld usecs\n", (longlong)cookie, func, (longlong)Convert ktime_t to nanoseconds >> 10)
134  spin_lock_irqsave( & async_lock, flags)
135  删除链表项并重新初始化
136  删除链表项并重新初始化
139  释放内存
140  atomic_dec( & entry_count)
142  spin_unlock_irqrestore( & async_lock, flags)
145  wake_up( & async_done)