Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

75261
1501
219117


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

1

[리눅스커널] 인터럽트 후반부 처리: IRQ 스레드를 깨우는 코드 분석

IRQ 스레드는 생성된 후 다음과 같은 동작을 계속 반복해 수행합니다.   1. 인터럽트 핸들러에서 IRQ_WAKE_THREAD 반환2. IRQ 스레드 깨움3. IRQ 스레드 핸들러 실행그렇다면 IRQ 스레드는 누가 언제 실행을 시작할까요?        IRQ 스레드를 실행하는 출발점은 인터럽트 핸...

[리눅스커널][인터럽트후반부] IRQ 스레드는 언제 생성할까?

6.3 IRQ 스레드는 어떻게 생성할까?IRQ 스레드를 생성하려면 적절한 인자와 함께 request_threaded_irq() 함수를 호출해야 합니다.request_threaded_irq() 함수의 선언부 코드를 먼저 보겠습니다. [https://elixir.bootlin.com/linux/v4.19.30/source/include/linux/...

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

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

인터럽트 - Overview

인터럽트하면 무슨 생각이 나죠? 평소에 이런 말도 하죠. "인터럽트 걸지마!" "인터럽트가 걸려와서 제대로 일을 못했어요."커널에서 인터럽트는 하드웨어와 소프트웨어의 인터페이스이라고 할 수 있구요,각 물리적인 디바이스와 디바이스 드라이버의 인터페이스라고 할 수 있어요.인터럽트 동작에 대한 수 많은 예시를 들 수 있는데요.모바일 디바이스에서 사용...

IRQ Stack(ARM64) - Debugging(디버깅)

아래 블로그에서 IRQ Stack(ARM64)에 대해 소개를 했는데요.http://rousalome.egloos.com/9966360이번에는 직접 코어 덤프에서 IRQ Stack 덤프를 살펴볼께요.IRQ Stack Feature를 지원하는 프로세스의 콜스택을 Trace32로 잡아서 확인해 보았어요.참고로, 아래는 CPU0에서 idle process가 돌...

IRQ Stack(ARM64) - Overview

IRQ Stack란 뭘까요. IRQ가 쓰는 스택이라고 말할 수 있나요? 이번 시간에 IRQ Stack에 대한 내용을 조금 더 짚어 보겠습니다. IRQ Stack이란 IRQ가 떳을 때 사용하는 스택 공간입니다. 달리 설명하면 인터럽트 컨택스트로 코드가 실행될 때 스택에 지역 변수를 할당 받고 함수를 호출할 때 프레임 포인터 레지스터를 스택에 푸쉬...

[Linux][Kernel] softirq - 호출되는 모듈 (h->action)

# 인터럽트 후반부 처리1 IRQ Thread(threaded IRQ) 란  2. 인터럽트 후반부 처리(Bottom Half) 소개3. IRQ Thread는 언제 생성할까?[1] 4. IRQ Thread는 언제 생성할까?[2]  5. ksoftirqd 쓰레드란6. Soft IRQ 소...

[Linux][Kernel] 인터럽트(Interrupt) - request_threaded_irq overview(1)

# 인터럽트 후반부 처리1 IRQ Thread(threaded IRQ) 란  2. 인터럽트 후반부 처리(Bottom Half) 소개3. IRQ Thread는 언제 생성할까?[1] 4. IRQ Thread는 언제 생성할까?[2]  5. ksoftirqd 쓰레드란리눅스 커널 인터럽트 개념 중에 ...
1