Linux Kernel(4.14) Hacks

rousalome.egloos.com

포토로그 Kernel Crash




태그 : IRQThread 요약보기전체보기목록닫기

1

[라즈베리파이]인터럽트 후반부 처리(Bottom Half) 소개 #CS

이전에 리눅스 커널이 인터럽트를 어떻게 처리하는지 배웠습니다. 배운 내용을 잠깐 복습해볼까요? 핵심 개념은 다음과 같습니다.첫째, 인터럽트가 발생하면 커널은 실행 중인 프로세스를 멈추고 인터럽트 벡터를 실행해서 인터럽트 핸들러를 실행합니다.둘째, 인터럽트 핸들러는 짧고 빨리 실행해야 합니다.셋째, 인터럽트를 처리하는 구간이 인터럽트 컨택스트인데 이를 i...

[라즈베리파이][리눅스커널] IRQ Thread는 언제 생성할까?[2] #CS

여기까지 request_threaded_irq 함수를 호출하면 결국 kthread_create 함수가 호출되어 IRQ Thread를 생성하는 코드를 짚어 봤습니다. 이제 분석한 대로 라즈베리파이에서 동작하는지 알아봐야겠죠. 이를 알아 보기 위한 코드를 소개할게요.diff --git a/kernel/kthread.c b/kernel/kthread.cind...

[라즈베리파이][리눅스커널] IRQ Thread는 언제 생성할까?[1] #CS

IRQ Thread를 생성하기 위해서는 request_threaded_irq 을 호출하면 IRQ Thread가 생성된다고 설명해 드렸습니다. 사실 request_threaded_irq을 호출할 때 IRQ Thread가 생성되는 것은 아니고 다음 흐름에서  __kthread_create_on_node 함수가 실행할 때 생성됩니다.우리는 ...

[라즈베리파이][리눅스커널]IRQ Thread(threaded IRQ) 란 #CS

리눅스 커널을 익히는 과정에서 만나는 걸림돌 중 하나가 어려운 용어입니다. 어려운 개념을 낯선 용어로 설명하니 이해하기 어렵죠. IRQ Thread의 의미를 알기 전에 IRQ란 용어부터 알아볼까요? IRQ는 Interrupt Request의 약자로 하드웨어에서 발생한 인터럽트를 처리 한다는 의미입니다. 조금 더 구체적으로 인터럽트 발생 후 인터럽트 핸들...
1