Qual é a diferença entre / proc / interrupts e / proc / softirq no Linux?

1

/proc/softirq é estatísticas do softirq. É /proc/interrupt tanto interrupções duras e moles ou apenas duras?

Eu quero medir a taxa de irqs duros e suaves por segundo, aproximadamente, usando watch -n 1 grep 'foo' /proc/softirq e watch -n 1 grep 'bar' /proc/interrupt , para que eu possa comparar a taxa de interrupção de interrupção de hardware à interrupção de software.

Eu estou querendo saber se preciso subtrair /proc/softirq contagens de /proc/interrupt para obter a contagem de IRQs de hardware porque conta os dois tipos ou se /proc/interrupt é apenas hardware?

    
por jwbensley 02.02.2017 / 09:33

1 resposta

2

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).

    
por 02.02.2017 / 09:57