Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:async_schedule_node_domain - NUMA specific version of async_schedule_domain*@func: function to execute asynchronously*@data: data pointer to pass to the function*@node: NUMA node that we want to schedule this on or close to*@domain: the domain

Proto:async_cookie_t async_schedule_node_domain(async_func_t func, void *data, int node, struct async_domain *domain)

Type:async_cookie_t

Parameter:

TypeParameterName
async_func_tfunc
void *data
intnode
struct async_domain *domain
173  entry = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc).
179  If Not entry || atomic_read( & entry_count) > MAX_WORK Then
180  free previously allocated memory
181  spin_lock_irqsave( & async_lock, flags)
182  newcookie = next_cookie++
183  spin_unlock_irqrestore( & async_lock, flags)
186  func(data, newcookie)
187  Return newcookie
189  Initialization list head
190  Initialization list head
191  INIT_WORK( & work, pick the first pending entry and run it)
192  func = func
193  data = data
194  domain = domain
196  spin_lock_irqsave( & async_lock, flags)
199  newcookie = cookie = next_cookie++
201  list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
202  If registered Then list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
205  atomic_inc( & entry_count)
206  spin_unlock_irqrestore( & async_lock, flags)
209  flags |= Used async_schedule*(), used by module init
212  queue_work_node - queue work on a "random" cpu for a given NUMA node*@node: NUMA node that we are targeting the work for*@wq: workqueue to use*@work: work to queue* We queue the work to a "random" CPU within a given NUMA node
214  Return newcookie
Caller
NameDescribe
async_schedule_nodeasync_schedule_node - NUMA specific version of async_schedule*@func: function to execute asynchronously*@data: data pointer to pass to the function*@node: NUMA node that we want to schedule this on or close to
async_schedule_domainasync_schedule_domain - schedule a function for asynchronous execution within a certain domain*@func: function to execute asynchronously*@data: data pointer to pass to the function*@domain: the domain
async_schedule_dev_domainasync_schedule_dev_domain - A device specific version of async_schedule_domain*@func: function to execute asynchronously*@dev: device argument to be passed to function*@domain: the domain* Returns an async_cookie_t that may be used for checkpointing later