函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:io_timeout

函数原型:static int io_timeout(struct io_kiocb *req)

返回类型:int

参数:

类型参数名称
struct io_kiocb *req
2940  ctx等于ctx
2943  span等于0
2945  data等于timeout
2952  count等于count
2953  如果非count
2954  flags或等于 timeout sequence
2955  spin_lock_irq( & completion_lock)
2956  entry等于链表前项
2957  转到:add
2960  sequence等于cached_sq_headcount减1
2961  seq_offset等于count
2967  spin_lock_irq( & completion_lock)
2969  nxt等于list_entry - get the struct for this entry*@ptr: the &struct list_head pointer.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.(entry, structio_kiocb, list)
2972  nxt_offset等于seq_offset
2974  如果flags按位与 timeout sequence 则继续下一循环
2981  tmp等于cached_sq_headcount减1
2982  nxt_sq_head等于sequencenxt_offset加1
2983  tmp_nxt等于nxt_sq_headnxt_offset减1
2989  如果cached_sq_head小于nxt_sq_headtmp加等于UINT_MAX
2992  如果tmp大于tmp_nxt退出
2999  span自加
3000  sequence自加
3002  sequence减等于span
3003  add :
3004  添加链表项
3005  function等于io_timeout_fn
3006  重启cpu高精度定时器
3007  spin_unlock_irq( & completion_lock)
3008  返回:0
调用者
名称描述
io_issue_sqe