前面我们基本理解了软中断处理的基本框架,为了对中断调用有一个全景的直观感受,我们在网卡驱动程序的中断函数dump_stack,观看一下各种情况下的软中断调用call Stack的情况。
(1)ksoftirqd处理软中断的情况
有线以太网卡NAPI轮询的调用栈
[ 106.374117] Hardware name: KOMI A30 (DT)
[ 106.378025] Call trace:
[ 106.380460] dump_backtrace+0x0/0x128
[ 106.384108] show_stack+0x24/0x30
[ 106.387411] dump_stack+0xb4/0xf4
[ 106.390713] napi_gro_receive+0x24/0x1cc
[ 106.394622] mtk_napi_rx+0x3a0/0x808 -napi->poll=mtk_napi_rx
[ 106.398185] __napi_poll+0x44/0x1c8
[ 106.401661] net_rx_action+0xdc/0x230
[ 106.405310] __do_softirq+0x130/0x350
[ 106.408960] run_ksoftirqd+0x44/0x60
[ 106.412523] smpboot_thread_fn+0x168/0x1a8
[ 106.416605] k