函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\completion.c Create Date:2022-07-27 10:41:51
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:wait_for_completion: - waits for completion of a task*@x: holds the state of this particular completion* This waits to be signaled for completion of a specific task. It is NOT* interruptible and there is no timeout.* See also similar routines (i

函数原型:void __sched wait_for_completion(struct completion *x)

返回类型:void

参数:

类型参数名称
struct completion *x
136  wait_for_common(x, MAX_SCHEDULE_TIMEOUT, 深度睡眠态)
调用者
名称描述
trigger_custom_fallback_store
trigger_batched_requests_storeWe use a kthread as otherwise the kernel serializes all our sync requests* and we would not be able to mimic batched requests on a sync call. Batched* requests on a sync call can for instance happen on a device driver when
trigger_batched_requests_async_store
try_requestsOnly wait *iff* we did not run into any errors during all of our thread* set up. If run into any issues we stop threads and just bail out with* an error to the trigger. This also means we don't need any tally work* for any threads which fail.
flush_workqueuelush_workqueue - ensure that any scheduled work has run to completion.*@wq: workqueue to flush* This function sleeps until all work items which were queued on entry* have finished execution, but it is not livelocked by new incoming ones.
__flush_work
put_unbound_poolput_unbound_pool - put a worker_pool*@pool: worker_pool to put* Put @pool
__kthread_create_on_node
kthread_parkkthread_park - park a thread created by kthread_create()
kthread_stop结束线程的运行
kthread_flush_workkthread_flush_work - flush a kthread_work*@work: work to flush* If @work is queued or executing, wait for it to finish execution.
kthread_flush_workerkthread_flush_worker - flush all current works on a kthread_worker*@worker: worker to flush* Wait until all currently executing or pending works on @worker are* finished.
test_mutex_work
__test_mutex
test_abba_work
test_abba
test_cycle_work
__wait_rcu_gp
__synchronize_srcuHelper function for synchronize_srcu() and synchronize_srcu_expedited().
srcu_barriersrcu_barrier - Wait until all in-flight call_srcu() callbacks complete.*@ssp: srcu_struct on which to wait for in-flight callbacks.
synchronize_srcusynchronize_srcu - wait for prior SRCU read-side critical-section completion
rcu_barrier_barrier - Wait until all in-flight call_rcu() callbacks complete
klp_free_patch_finishThis function implements the free part that must be called outside* klp_mutex.* It must be called after klp_free_patch_start(). And it has to be* the last function accessing the livepatch structures when the patch* gets disabled.
smp_call_on_cpu
acct_pin_kill
backtrace_test_irq
stop_one_cpustop_one_cpu - stop a cpu*@cpu: cpu to stop*@fn: function to execute*@arg: argument to @fn* Execute @fn(@arg) on @cpu. @fn is run in a process context with* the highest priority preempting any task on the cpu and* monopolizing it
stop_two_cpusstop_two_cpus - stops two cpus*@cpu1: the cpu to stop*@cpu2: the other cpu to stop*@fn: function to execute*@arg: argument to @fn* Stops both the current and specified CPU and runs @fn on one of them.* returns when both are completed.
__stop_cpus
ring_buffer_resizeg_buffer_resize - resize the ring buffer*@buffer: the buffer to resize.*@size: the new size.*@cpu_id: the cpu buffer to resize* Minimum size is 2 * BUF_PAGE_SIZE.* Returns 0 on success and < 0 on failure.
ring_buffer_producer
ring_buffer_producer_thread
SYSCALL_DEFINE1sys_io_destroy:* Destroy the aio_context specified. May cancel any outstanding * AIOs and block on completion. Will fail with -ENOSYS if not* implemented. May fail with -EINVAL if the context pointed to* is invalid.
io_sq_thread_stop
io_ring_ctx_wait_and_kill
__io_uring_register
io_wq_flushDoesn't wait for previously queued work to finish. When this completes,* it just means that previously queued work was started.
io_wq_create
io_wq_destroy
coredump_wait
trigger_async_request_store
cpuid_read
call_usermodehelper_execall_usermodehelper_exec - start a usermode application*@sub_info: information about the subprocessa*@wait: wait for the application to finish and return status.* when UMH_NO_WAIT don't wait at all, but you get no useful error back
kernel_init_freeable
__keyctl_dh_compute
exit_aioxit_aio: called when the last user of mm goes away. At this point, there is* no way for any new requests to be submited or any of the io_* syscalls to be* called on the context.* There may be outstanding kiocbs, but free_ioctx() will explicitly wait on