ARM Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

203239
1625
172600


[리눅스커널] 인터럽트 후반부 처리: IRQ 스레드 소개 6. 인터럽트 후반부 처리

리눅스 커널을 익히는 과정에서 만나는 걸림돌 중 하나가 어려운 용어입니다. 어려운 개념을 낯선 용어로 설명하니 이해하기 어려운 것 같습니다. IRQ 스레드에 대해 소개하기 전 IRQ란 용어부터 알아볼까요? 

IRQ 스레드(threaded IRQ)란

IRQ 스레드는 IRQ와 스레드의 합성어입니다. 먼저 IRQ에 대해서 알아볼까요? IRQ는 Interrupt Request의 약자로 하드웨어에서 발생한 인터럽트를 처리 한다는 의미입니다. 조금 더 구체적으로 인터럽트 발생 후 인터럽트 핸들러까지 처리하는 흐름입니다. 스레드는 커널 공간에서만 실행하는 ‘커널 스레드’와 같은 의미입니다. 

    그렇다면 IRQ 스레드란 무엇일까? 

인터럽트 핸들러에서는 처리하면 오래 걸리는 일을 수행하는 프로세스입니다. 즉, 인터럽트 후반부 처리를 위한 인터럽트 처리 전용 프로세스입니다.  

    리눅스 커널 커뮤니티에서는 irq_thread 혹은 threaded IRQ 방식이라고도 부릅니다. 

용어는 달라도 같은 의미입니다. 이렇게 IRQ 스레드 기법은 인터럽트 후반부 처리를 IRQ 스레드에서 수행하는 방식을 의미합니다. 


 

     "혹시 글을 읽고 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실하게 답변 올려 드리겠습니다!"


# Reference 인터럽트 후반부 처리








6.9 Soft IRQ 서비스는 누가 언제 처리하나?




6.13 Soft IRQ 디버깅
6.13.1 ftrace Soft IRQ 이벤트 분석 방법
6.13.2 /proc/softirqs로 Soft IRQ 서비스 실행 횟수 확인


# Reference: For more information on 'Linux Kernel';

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 1

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 2







    핑백

    덧글

    댓글 입력 영역