函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:io_uring_cancel_files

函数原型:static void io_uring_cancel_files(struct io_ring_ctx *ctx, struct files_struct *files)

返回类型:void

参数:

类型参数名称
struct io_ring_ctx *ctx
struct files_struct *files
5039  DEFINE_WAIT(wait)
5041  当非链表为空且不修改循环
5042  struct io_kiocb * cancel_req = NULL
5044  spin_lock_irq( & inflight_lock)
5046  如果files不等于files则继续下一循环
5049  如果非_inc_not_zero - increment a refcount unless it is 0*@r: the refcount to increment* Similar to atomic_inc_not_zero(), but will saturate at REFCOUNT_SATURATED* and WARN.* Provides no memory ordering, it is assumed the caller has guaranteed the则继续下一循环
5051  cancel_req等于req
5052  退出
5054  如果cancel_reqNote: we use "set_current_state()" _after_ the wait-queue add,* because we need a memory barrier there on SMP, so that any* wake-function that tests for the wait-queue being active* will be guaranteed to see waitqueue addition _or_ subsequent
5057  spin_unlock_irq( & inflight_lock)
5060  如果非cancel_req退出
5063  io_wq_cancel_work( IO offload , & work)
5064  io_put_req(cancel_req)
5065  进程调度
5067  sh_wait - clean up after waiting in a queue*@wq_head: waitqueue waited on*@wq_entry: wait descriptor* Sets current thread back to running state and removes* the wait descriptor from the given waitqueue if still* queued.
调用者
名称描述
io_uring_flush