Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Note: we use "set_current_state()" _after_ the wait-queue add,* because we need a memory barrier there on SMP, so that any* wake-function that tests for the wait-queue being active* will be guaranteed to see waitqueue addition _or_ subsequent

Proto:void prepare_to_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry, int state)

Type:void

Parameter:

TypeParameterName
struct wait_queue_head *wq_head
struct wait_queue_entry *wq_entry
intstate
243  flags &= ~wait_queue_entry::flags
244  spin_lock_irqsave( & lock, flags)
245  If list_empty - tests whether a list is empty*@head: the list to test. Then __add_wait_queue(wq_head, wq_entry)
247  set_current_state(state)
248  spin_unlock_irqrestore( & lock, flags)
Caller
NameDescribe
usermodehelper_read_lock_wait
__wait_on_bitTo allow interruptible waiting and asynchronous (i.e. nonblocking)* waiting, the actions of __wait_on_bit() and __wait_on_bit_lock() are* permitted return codes. Nonzero return codes halt waiting and return.
cgroup_lock_and_drain_offlinegroup_lock_and_drain_offline - lock cgroup_mutex and drain offlined csses*@cgrp: root of the target subtree* Because css offlining is asynchronous, userland may try to re-enable a* controller while the previous css is still around. This function grabs
ring_buffer_waitg_buffer_wait - wait for input to the ring buffer*@buffer: buffer to wait on*@cpu: the cpu buffer to wait on*@full: wait until a full page is available, if @cpu != RING_BUFFER_ALL_CPUS* If @cpu == RING_BUFFER_ALL_CPUS then the task will wake up as soon
kswapd_try_to_sleep
congestion_waitgestion_wait - wait for a backing_dev to become uncongested*@sync: SYNC or ASYNC IO*@timeout: timeout in jiffies* Waits for up to @timeout jiffies for a backing_dev (any backing_dev) to exit* write congestion
wait_iff_congestedwait_iff_congested - Conditionally wait for a backing_dev to become uncongested or a pgdat to complete writes*@sync: SYNC or ASYNC IO*@timeout: timeout in jiffies* In the event of a congested backing_dev (any backing_dev) this waits* for up to @timeout
mem_cgroup_wait_acct_move
mem_cgroup_oom_synchronizemem_cgroup_oom_synchronize - complete memcg OOM handling*@handle: actually kill/wait or just clean up the OOM state* This has to be called at the end of a page fault if the memcg OOM* handler was enabled
__wait_on_freeing_inode
__inode_dio_waitDirect i/o helper functions
inode_sleep_on_writebackSleep until I_SYNC is cleared. This function must be called with i_lock* held and drops it. It is aimed for callers not holding any inode reference* so once i_lock is dropped, inode can go away.
bd_prepare_to_claimd_prepare_to_claim - prepare to claim a block device*@bdev: block device of interest*@whole: the whole device containing @bdev, may equal @bdev*@holder: holder trying to claim @bdev* Prepare to claim @bdev
io_sq_thread
io_uring_cancel_files
wait_entry_unlockedThe only thing keeping the address space around is the i_pages lock* (it's cycled in clear_inode() after removing the entries from i_pages)* After we call xas_unlock_irq(), we cannot touch xas->xa.