Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-ioc.c Create Date:2022-07-28 17:04:17
Last Modify:2020-03-17 23:16:06 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:put_io_context - put a reference of io_context*@ioc: io_context to put* Decrement reference count of @ioc and release it if the count reaches* zero.

Proto:void put_io_context(struct io_context *ioc)

Type:void

Parameter:

TypeParameterName
struct io_context *ioc
138  bool free_ioc = false
140  If (ioc == NULL) Then Return
143  BUG_ON(atomic_long_read( & refcount) <= 0)
149  If atomic_long_dec_and_test( & refcount) Then
150  spin_lock_irqsave( & all the fields below are protected by this lock , flags)
151  If Not hlist_empty( & icq_list) Then queue_work - queue work on a workqueue*@wq: workqueue to use*@work: work to queue* Returns %false if @work was already on a queue, %true otherwise.* We queue the work to the CPU on which it was submitted, but if the CPU dies
154  Else free_ioc = true
156  spin_unlock_irqrestore( & all the fields below are protected by this lock , flags)
159  If free_ioc Then kmem_cache_free(For io context allocations, ioc)
Caller
NameDescribe
put_io_context_activeput_io_context_active - put active reference on ioc*@ioc: ioc of interest* Undo get_io_context_active(). If active reference reaches zero after* put, @ioc can never issue further IOs and ioscheds are notified.
blk_mq_free_request
set_task_ioprio