Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\io_uring.c Create Date:2022-07-28 20:22:09
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__io_free_req

Proto:static void __io_free_req(struct io_kiocb *req)

Type:void

Parameter:

TypeParameterName
struct io_kiocb *req
944  ctx = ctx
946  If io Then kfree(io)
948  If file && Not (flags & ctx owns file ) Then fput(file)
950  If flags & inflight list Then
953  spin_lock_irqsave( & inflight_lock, flags)
954  deletes entry from list
955  If waitqueue_active -- locklessly test for waiters on the queue*@wq_head: the waitqueue to test for waiters* returns true if the wait list is not empty* NOTE: this function is lockless and requires care, incorrect usage _will_ Then wake_up( & inflight_wait)
957  spin_unlock_irqrestore( & inflight_lock, flags)
959  percpu_ref_put - decrement a percpu refcount*@ref: percpu_ref to put* Decrement the refcount, and if 0, call the release function (which was passed* to percpu_ref_init())* This function is safe to call as long as @ref is between init and exit.
960  If Value is more likely to compile time(!io_is_fallback_req(req)) Then kmem_cache_free(req_cachep, req)
962  Else lear_bit_unlock - Clear a bit in memory, for unlock*@nr: the bit to set*@addr: the address to start counting from* This operation is atomic and provides release barrier semantics.
Caller
NameDescribe
io_free_req
io_put_req_find_nextDrop reference to request, return next in chain (if there is one) if this* was the last reference to this request.
__io_double_put_req
io_submit_sqes