函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:handle_nested_irq - Handle a nested irq from a irq thread*@irq: the interrupt number* Handle interrupts which are nested into a threaded interrupt* handler. The handler function is called inside the calling* threads context.

函数原型:void handle_nested_irq(unsigned int irq)

返回类型:void

参数:

类型参数名称
unsigned intirq
460  desc等于中断转换为描述
464  might_sleep()
466  关闭本地中断,获取所要保护的运行队列(runqueue)的自旋锁(spinlock),为查找可运行进程做准备。( & 自旋锁)
468  istate与等于IRQS_REPLAY按位或IRQS_WAITING的值的反
470  action等于中断服务例程链表
471  如果此条件成立可能性小(为编译器优化)(!action || irqd_irq_disabled( & irq_data))则
472  istate或等于IRQS_PENDING
473  转到:out_unlock
476  kstat_incr_irqs_this_cpu(desc)
477  设置中断标志
478  raw_spin_unlock_irq( & 自旋锁)
480  action_ret等于此设备没有产生中断
481  for_each_action_of_desc(desc, action)
482  action_ret或等于线程中断处理器(中断号, 设备标识)
484  如果非noirqdebugnote_interrupt(desc, action_ret)
487  关闭本地中断,获取所要保护的运行队列(runqueue)的自旋锁(spinlock),为查找可运行进程做准备。( & 自旋锁)
488  清除中断标志
490  out_unlock :
491  raw_spin_unlock_irq( & 自旋锁)