Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:io_poll_wake

Proto:static int io_poll_wake(struct wait_queue_entry *wait, unsigned mode, int sync, void *key)

Type:int

Parameter:

TypeParameterName
struct wait_queue_entry *wait
unsignedmode
intsync
void *key
2650  poll = private
2651  req = container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(poll, structio_kiocb, poll)
2652  ctx = ctx
2653  mask = key_to_poll(key)
2657  If mask && Not (mask & events) Then Return 0
2660  list_del_init - deletes entry from list and reinitialize it.*@entry: the element to delete from the list.
2668  If mask && spin_trylock_irqsave( & completion_lock, flags) Then
2671  hash_del - remove an object from a hashtable*@node: &struct hlist_node of the object to remove
2672  io_poll_complete(req, mask, 0)
2673  trigger_ev = io_should_trigger_evfd(ctx)
2674  If trigger_ev && eventfd_signal_count() Then
2675  trigger_ev = false
2677  Else
2679  io_put_req(req)
2680  req = NULL
2682  spin_unlock_irqrestore( & completion_lock, flags)
2683  __io_cqring_ev_posted(ctx, trigger_ev)
2684  Else
2685  io_queue_async_work(req)
2688  Return 1