函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:io_iopoll_check

函数原型:static int io_iopoll_check(struct io_ring_ctx *ctx, unsigned *nr_events, long min)

返回类型:int

参数:

类型参数名称
struct io_ring_ctx *ctx
unsigned *nr_events
longmin
1292  iters等于0, ret等于0
1299  mutex_lock( & uring_lock)
1300  循环
1301  tmin等于0
1308  如果io_cqring_events(ctx, false)则退出
1321  如果非iters先自加按位与7的值则
1323  mutex_lock( & uring_lock)
1326  如果nr_events小于mintmin等于minnr_events
1329  ret等于Poll for a minimum of 'min' events. Note that if min == 0 we consider that a* non-spinning poll check - we'll still enter the driver poll loop, but only* as a non-spinning completion check.
1330  如果ret小于等于0则退出
1332  ret等于0
1333 min且非nr_events且非need_resched()循环
1335  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
1336  返回:ret
调用者
名称描述
SYSCALL_DEFINE6