Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

94305
1828
210800


[리눅스커널] 인터럽트 후반부 처리: 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







    핑백

    덧글

    댓글 입력 영역