函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:queue_work_on - queue work on specific cpu*@cpu: CPU number to execute work on*@wq: workqueue to use*@work: work to queue* We queue the work to a specific CPU, the caller must ensure it* can't go away.

函数原型:bool queue_work_on(int cpu, struct workqueue_struct *wq, struct work_struct *work)

返回类型:bool

参数:

类型参数名称
intcpu
struct workqueue_struct *wq
struct work_struct *work
1507  bool ret = false
1510  local_irq_save(flags)
1512  如果非st_and_set_bit - Set a bit and return its old value*@nr: Bit to set*@addr: Address to count from* This is an atomic fully-ordered operation (implied full memory barrier).
1513  __queue_work(cpu, wq, work)
1514  ret = true
1517  local_irq_restore(flags)
1518  返回:ret
调用者
名称描述
srcu_delay_timer
srcu_queue_delayed_work_on
smp_call_on_cpu
padata_reorder
z3fold_freez3fold_free() - frees the allocation associated with the given handle*@pool: pool in which the allocation resided*@handle: handle associated with the allocation returned by z3fold_alloc()* In the case that the z3fold page in which the allocation resides
z3fold_page_migrate
drain_all_pagesSpill all the per-cpu pages from all CPUs back into the buddy allocator.* When zone parameter is non-NULL, spill just the single zone's pages.* Note that this can be extremely slow as the draining happens in a workqueue.
queue_workqueue_work - queue work on a workqueue*@wq: workqueue to use*@work: work to queue* Returns %false if @work was already on a queue, %true otherwise.* We queue the work to the CPU on which it was submitted, but if the CPU dies
schedule_work_on为cpu配置任务
sync_rcu_exp_select_cpusSelect the nodes that the upcoming expedited grace period needs* to wait for.
kblockd_schedule_work_on