Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:io_wqe_enqueue

Proto:static void io_wqe_enqueue(struct io_wqe *wqe, struct io_wq_work *work)

Type:void

Parameter:

TypeParameterName
struct io_wqe *wqe
struct io_wq_work *work
738  acct = io_work_get_acct(wqe, work)
747  If Value for the false possibility is greater at compile time(!io_wq_can_queue(wqe, acct, work)) Then
748  flags |= IO_WQ_WORK_CANCEL
749  func( & work)
750  Return
753  spin_lock_irqsave( & lock, flags)
754  wq_list_add_tail( & list, & work_list)
755  flags &= ~IO_WQE_FLAG_STALLED
756  spin_unlock_irqrestore( & lock, flags)
758  If Not atomic_read( & nr_running) Then We need a worker. If we find a free one, we're good. If not, and we're* below the max number of workers, wake up the manager to create one.
Caller
NameDescribe
io_wq_enqueue
io_wq_enqueue_hashedEnqueue work, hashed by some key. Work items that hash to the same value* will not be done in parallel. Used to limit concurrent writes, generally* hashed by inode.
io_wq_flushDoesn't wait for previously queued work to finish. When this completes,* it just means that previously queued work was started.