函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Interrupt handler thread

函数原型:static int irq_thread(void *data)

返回类型:int

参数:

类型参数名称
void *data
1063  action等于data
1064  desc等于中断转换为描述
1065  irqreturn_t( * handler_fn)(struct irq_desc * desc, struct irqaction * action)
1068  如果force_irqthreadsst_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting fromhandler_fn等于Interrupts which are not explicitly requested as threaded* interrupts rely on the implicit bh/preempt disable of the hard irq* context. So we need to disable bh here to avoid deadlocks and other* side effects.
1071  否则handler_fn等于Interrupts explicitly requested as threaded interrupts want to be* preemtible - many of them need to sleep and wait for slow busses to* complete.
1074  init_task_work( & on_exit_work, irq_thread_dtor)
1075  ask_work_add - ask the @task to execute @work->func()*@task: the task which should run the callback*@work: the callback to run*@notify: send the notification if true* Queue @work for task_work_run() below and notify the @task if @notify.
1077  irq_thread_check_affinity(desc, action)
1079  当非irq_wait_for_interrupt(action)循环
1082  irq_thread_check_affinity(desc, action)
1084  action_ret等于handler_fn(desc, action)
1085  如果action_ret恒等于唤醒中断irq_wake_secondary(desc, action)
1088  wake_threads_waitq(desc)
1097  ask_work_cancel - cancel a pending work added by task_work_add()*@task: the task which should execute the work*@func: identifies the work to remove* Find the last queued pending work with ->func == @func and remove* it from queue.* RETURNS:
1098  返回:0