函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:irq_work_run_list

函数原型:static void irq_work_run_list(struct llist_head *list)

返回类型:void

参数:

类型参数名称
struct llist_head *list
139  BUG_ON(!已禁止中断())
141  如果锁列表为空则返回
144  llnode等于llist_del_all - delete all entries from lock-less list*@head: the head of lock-less list to delete all entries* If list is empty, return NULL, otherwise, delete all entries and* return the pointer to the first entry. The order of entries
154  flags等于atomic_fetch_andnot(An entry can be in one of four states:* free NULL, 0 -> {claimed} : free to be used* claimed NULL, 3 -> {pending} : claimed to be enqueued* pending next, 3 -> {busy} : queued, pending callback* busy NULL, 2 -> {free, claimed} : callback in progress, can , & flags)
156  func(work)
161  flags与等于An entry can be in one of four states:* free NULL, 0 -> {claimed} : free to be used* claimed NULL, 3 -> {pending} : claimed to be enqueued* pending next, 3 -> {busy} : queued, pending callback* busy NULL, 2 -> {free, claimed} : callback in progress, can 的反
162  atomic_cmpxchg( & flags, flags, flags & ~IRQ_WORK_BUSY)
调用者
名称描述
irq_work_runhotplug calls this through:* hotplug_cfd() -> flush_smp_call_function_queue()
irq_work_tick