문제가 생겼는데 해결 중이에요__불량 인터럽트 보고호출 스택이 일관성이 없습니다.
AFAIK, 이 스택은 처리되지 않은 인터럽트가 100000개 있을 때마다 시작됩니다.
지정된 시간에 cat /proc/irq/128/spurious의 출력
카운트 99343
처리되지 않은 98981
last_unhandled 7983944 밀리초
--몇 분 후--
카운트 212
처리되지 않음 212
7985960밀리초 동안 마지막으로 처리되지 않았습니다.
count는 IRQ가 실행된 총 횟수(모듈로 100,000)를 제공하지만 왜 이 특정 irq는 횟수가 100,000에 도달해도 비활성화되지 않습니까?
답변1
이전 100,000개의 인터럽트 중 99,900개가 처리되지 않은 경우 bad_irq 스택을 트리거합니다. 나머지 100,000개의 인터럽트 중 100개는 실패한 장치와 IRQ를 공유하는 작동 장치일 수 있습니다. 따라서 irq가 비활성화될 때 처리되지 않은 99,900은 우연이며, 처리되지 않은 총 개수가 99,000이고 총 개수가 100,000에 도달하더라도 IRq는 비활성화되지 않습니다.