函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:aio_poll_wake

函数原型:static int aio_poll_wake(struct wait_queue_entry *wait, unsigned mode, int sync, void *key)

返回类型:int

参数:

类型参数名称
struct wait_queue_entry *wait
unsignedmode
intsync
void *key
1673  req等于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.(wait, structpoll_iocb, wait)
1674  iocb等于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.(req, structaio_kiocb, poll)
1675  mask等于key_to_poll(key)
1679  如果mask且非mask按位与events的值则返回:0
1682  删除链表项并重新初始化
1684  如果maskspin_trylock_irqsave( & ctx_lock, flags)则
1685  ctx等于ki_ctx
1693  删除链表项
1694  IO请求的结果等于mangle_poll(mask)
1695  done = true
1697  iocb = NULL
1701  spin_unlock_irqrestore( & ctx_lock, flags)
1702  如果iocbiocb_put(iocb)
1704  否则
1705  schedule_work - put work task in global workqueue*@work: job to be done* Returns %false if @work was already on the kernel-global workqueue and* %true otherwise
1707  返回:1