23.5. 인터럽트 요청 개요
인터럽트 요청(IRQ)은 하드웨어 조각에서 프로세서로 전송되는 즉각적인 주의를 위한 신호입니다. 시스템의 각 장치에는 하나 이상의 IRQ 번호가 할당되어 고유한 인터럽트를 보낼 수 있습니다. 인터럽트가 활성화되면 인터럽트 요청을 수신하는 프로세서는 인터럽트 요청을 해결하기 위해 현재 애플리케이션 스레드의 실행을 즉시 일시 중지합니다.
인터럽트가 정상적인 작동을 중단하기 때문에 높은 인터럽트 속도가 시스템 성능이 저하될 수 있습니다. 인터럽트 선호도를 설정하거나 일괄 처리에서 다수의 낮은 우선 순위 인터럽트를 전송하여 인터럽트에 의해 걸린 시간을 줄일 수 있습니다(중요한 수의 인터럽트).
인터럽트 요청에는 인터럽트 요청을 처리하는 프로세서를 정의하는 연결된 affnity 속성 smp_affinity 가 있습니다. 애플리케이션 성능을 개선하고 지정된 인터럽트 및 애플리케이션 스레드가 캐시 행을 공유할 수 있도록 하려면 다음과 같은 개선을 수행할 수 있습니다.
- 인터럽트 선호도를 할당합니다.
- 동일한 코어의 동일한 프로세서 또는 프로세서에 대한 프로세스 선호도입니다.
인터럽트를 지원하는 시스템에서 인터럽트 요청의 smp_affinity 속성을 수정하면 하드웨어를 설정하여 특정 프로세서와의 인터럽트를 서비스하는 결정이 커널의 개입 없이 하드웨어 수준에서 이루어집니다.