函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:io_poll_complete_work

函数原型:static void io_poll_complete_work(struct io_wq_work **workptr)

返回类型:void

参数:

类型参数名称
struct io_wq_work **workptr
2594  work等于workptr
2595  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.(work, structio_kiocb, work)
2596  poll等于poll
2597  struct poll_table_struct pt = {_key = events}
2598  ctx等于ctx
2599  struct io_kiocb * nxt = NULL
2600  mask等于0
2601  ret等于0
2603  如果flags按位与IO_WQ_WORK_CANCEL
2604  WRITE_ONCE(canceled, true)
2605  ret等于负ECANCELED
2606  否则如果READ_ONCE(canceled)则
2607  ret等于负ECANCELED
2610  如果ret不等于负ECANCELEDmask等于vfs_poll(file, & pt)按位与events
2620  spin_lock_irq( & completion_lock)
2621  如果非maskret不等于负ECANCELED
2622  add_wait_queue(head, & wait)
2623  spin_unlock_irq( & completion_lock)
2624  返回
2626  从哈希表移除对象
2627  io_poll_complete(req, mask, ret)
2628  spin_unlock_irq( & completion_lock)
2630  io_cqring_ev_posted(ctx)
2632  如果ret小于0则req_set_fail_links(req)
2634  Drop reference to request, return next in chain (if there is one) if this* was the last reference to this request.
2635  如果nxtio_wq_assign_next(workptr, nxt)