As softirqs não estão diretamente relacionadas a interrupções de hardware, elas são as sucessoras de "metades inferiores" e o predecessor de tasklets. O (antigo) Guia não confiável para invadir o kernel do Linux tem uma breve seção sobre o tópico ; Eu ouso dizer que há melhores recursos em outros lugares. A lista de softirqs é definida em include/linux/interrupt.h
; você verá que eles não correspondem a interrupções únicas de hardware.
Assim, você não deve subtrair /proc/softirq
contagens de /proc/interrupts
. Este último conta apenas com interrupções de hardware; Naturalmente, isso pode resultar em softirqs sendo usados, mas não há uma maneira fácil de determinar a correlação ( por exemplo, entre as interrupções de hardware em seu adaptador de rede e NET_RX
ou NET_TX
softirqs).