리눅스커널
Posts
154 posts[리눅스커널][SoftIRQ] 디버깅: ftrace Soft IRQ 이벤트 소개
6.12.1 ftrace Soft IRQ 이벤트 소개 이번 시간에 Soft IRQ 실행 흐름을 추적하는 ftrace event를 소개합니다. ftrace는 커널의 주요 동작을 추적하며 이를 이벤트로 정의합니다. Soft IRQ 도 커널의 중요 기능이니 ftrace에서 다음 이벤트를 제공합니다.- softirq_raise: Soft IRQ 서비스를 요청- softirq_entry: Soft IRQ 서비스 실행 시작- softirq_exit: Soft IRQ 서비스 실행 마무리 먼저 ftrace 이벤트를 활성화하는 방법을 알아보고 ftrace에서 각 로그를 분석해보겠습니다. Soft IRQ ftrace 이벤트 켜기 Soft IRQ 이벤트는 다음 명령어로 활성화할 수 있습니다."echo 1 >
[리눅스커널][SoftIRQ] Soft IRQ 컨택스트에 대해서 - in_softirq()
6.10 Soft IRQ 컨택스트에 대해서 인터럽트가 발생한 후 인터럽트 핸들러가 실행 중인 상태를 인터럽트 컨택스트라고 합니다. 이와 마찬가지로 Soft IRQ 서비스를 실행 중인 상태를 Soft IRQ 컨택스트라고 부릅니다. 이번 절에서는 Soft IRQ 컨택스트 시작 시점과 관련 자료구조에 대해서 살펴보겠습니다. 6.10.1 Soft IRQ 컨택스트 시작점은 어디인가? Soft IRQ 컨택스트는 Soft IRQ 서비스를 실행할 때 활성화됩니다. Soft IRQ 서비스는 __do_softirq() 함수에서 실행하니 다음 코드를 보면서 Soft IRQ 컨택스트 활성화 시점을 알아봅시다.[https://elixir.bootlin.com/linux/v4.19.30/source/kernel/softirq.
[리눅스커널][태스크릿] 태스크릿은 언제 실행할까? tasklet_action_common() 분석
태스크릿은 언제 실행할까? 태스크릿은 Soft IRQ 서비스 중 하나입니다. 따라서 Soft IRQ 서비스를 실행하는 __do_softirq() 함수에서 태스크릿 서비스 핸들러 함수를 호출합니다. Soft IRQ 전체 흐름도에서 태스크릿 서비스를 실행하는 그림을 보겠습니다. [태스크릿 전체 흐름도에서 태스크릿 실행 단계] [1] 단계에서 인터럽트가 발생한 후 인터럽트 핸들러에서 태스크릿 스케줄링을 실행했습니다. 이번엔 [2] 단계에서 태스크릿 서비스 핸들러가 호출하는 과정을 살펴봅니다. 전체 Soft IRQ 구조에서 __do_softirq() 함수가 호출되는 흐름은 6.8 절을 참고하세요. 태스크릿 서비스 핸들러인 tasklet_action() 함수를 실행하는 출발점은 __do_softirq()
[리눅스커널] IRQ 스레드 생성 예제 코드 분석 - 라즈베리파이
6.3.2 라즈비안 92번 인터럽트 IRQ 스레드 생성 예제 코드 분석해보기 IRQ 스레드를 생성하는 함수 흐름을 알아봤으니 IRQ 스레드를 생성하는 예제 코드를 살펴보겠습니다. 분석할 소스 코드는 다음과 같습니다.[https://github.com/raspberrypi/linux/blob/rpi-4.19.y/drivers/mmc/host/bcm2835-mmc.c]1 static int bcm2835_mmc_add_host(struct bcm2835_host *host)2 {3 struct mmc_host *mmc = host->mmc;4 struct device *dev = mmc->parent;...5 bcm2835_mmc_init(host, 0);6 ret = devm_request_th

![[일상] Eave 65와 목새 택타일 | 토프레 무접점 느낌 | 타건 영상 있음](https://img.zoomtrend.com/2026/06/07/1780838085-SE-77297eb3-90bf-43a7-9629-75fd8530e370.jpg)

