Eu tenho uma interrupção simples que é acionada por uma entrada GPIO. O IRQ apenas incrementa uma variável e retorna. Quando eu desloco a freqüência das interrupções para algo em torno de 10-20 kHz, o sistema não responde. Eu meço a carga da CPU usando top
enquanto aumenta a frequência, mas não há alteração significativa em nenhuma das métricas do comando top
.
Portanto, a CPU do processador é carregada, mas não posso medi-la com top
!
Como o top
faz sua medição? Como é que a interrupção muito frequente não é visível?
Como posso medir o impacto que a interrupção tem no desempenho geral do sistema?
EDITAR
Configurando o regulador de frequência da CPU para "performance" e definindo a frequência para 1GHz estático, consegui obter a frequência de interrupção até 150kHz, antes que o processador falhasse.