函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:workqueue_init - bring workqueue subsystem fully online* This is the latter half of two-staged workqueue subsystem initialization* and invoked as soon as kthreads can be created and scheduled

函数原型:int __init workqueue_init(void)

返回类型:int

参数:

5994  wq_numa_init()
5996  mutex_lock( & wq_pool_mutex)
5998  遍历可用CPU(cpu)
6000  I: the associated node ID 等于cpu_to_node(cpu)
6005  wq_update_unbound_numa - update NUMA affinity of a wq for CPU hot[un]plug*@wq: the target workqueue*@cpu: the CPU coming up or going down*@online: whether @cpu is coming up or going down* This function is to be called from %CPU_DOWN_PREPARE, %CPU_ONLINE
6006  WARN(Workqueues which may be used during memory reclaim should have a rescuer* to guarantee forward progress., "workqueue: failed to create early rescuer for %s", I: workqueue name )
6011  mutex_unlock( & wq_pool_mutex)
6014  遍历在线CPU(cpu)
6016  X: flags 与等于POOL_DISASSOCIATED的反
6017  BUG_ON(!reate_worker - create a new workqueue worker*@pool: pool the new worker will belong to* Create and start a new worker which is attached to @pool.* CONTEXT:* Might sleep. Does GFP_KERNEL allocations.* Return:* Pointer to the newly created worker.)
6021  hash_for_each - iterate over a hashtable*@name: hashtable to iterate*@bkt: integer to use as bucket loop cursor*@obj: the type * to use as a loop cursor for each entry*@member: the name of the hlist_node within the struct(PL: hash of all unbound pools keyed by pool->attrs , bkt, pool, hash_node)
6022  BUG_ON(!reate_worker - create a new workqueue worker*@pool: pool the new worker will belong to* Create and start a new worker which is attached to @pool.* CONTEXT:* Might sleep. Does GFP_KERNEL allocations.* Return:* Pointer to the newly created worker.)
6024  can kworkers be created yet? = true
6025  Workqueue watchdog
6027  返回:0
调用者
名称描述
kernel_init_freeable