Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Returns true if there are no backlogged entries after the flush

Proto:static bool io_cqring_overflow_flush(struct io_ring_ctx *ctx, bool force)

Type:bool

Parameter:

TypeParameterName
struct io_ring_ctx *ctx
boolforce
766  rings = rings
770  LIST_HEAD(list)
772  If Not force Then
773  If list_empty_careful - tests whether a list is empty and not being modified*@head: the list to test* Description:* tests whether a list is empty _and_ checks that no other CPU might be* in the process of modifying either member (next or prev)* NOTE: using Then Return true
775  If cached_cq_tail - READ_ONCE(head) == Ring sizes (constant, power of 2) Then Return false
780  spin_lock_irqsave( & completion_lock, flags)
783  If force Then cq_overflow_flushed = true
786  cqe = NULL
787  When Not list_empty - tests whether a list is empty*@head: the list to test. cycle
788  cqe = io_get_cqring(ctx)
789  If Not cqe && Not force Then Break
792  req = list_first_entry - get the first element from a list*@ptr: the list head to take the element from.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.* Note, that list is expected to be not empty.( & cq_overflow_list, structio_kiocb, list)
794  list_move - delete from one list and add as another's head*@list: the entry to move*@head: the head that will precede our entry
795  If cqe Then
798  WRITE_ONCE(flags, 0)
799  Else
805  io_commit_cqring(ctx)
806  spin_unlock_irqrestore( & completion_lock, flags)
807  io_cqring_ev_posted(ctx)
809  When Not list_empty - tests whether a list is empty*@head: the list to test. cycle
810  req = list_first_entry - get the first element from a list*@ptr: the list head to take the element from.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.* Note, that list is expected to be not empty.( & list, structio_kiocb, list)
811  deletes entry from list
812  io_put_req(req)
815  Return cqe != NULL
Caller
NameDescribe
io_cqring_events
io_submit_sqes
io_ring_ctx_wait_and_kill
SYSCALL_DEFINE6