리눅스
Posts
554 posts[리눅스커널][인터럽트후반부] IRQ 스레드 핸들러 실행 시각 측정하기
IRQ 스레드 핸들러 실행 시각 측정하기 이전 절에서는 ftrace 로 콜스택과 함께 인터럽트가 언제 발생하고 언제 IRQ Thread를 깨우는지 알아봤습니다. 이번에는 실제 인터럽트 핸들러와 IRQ Thread 핸들러 함수 실행 시간을 측정하는 방법을 소개합니다. 각 함수의 실행 시간을 측정하고 실행 시간이 오래 걸리면 인터럽트 핸들러 함수 코드를 점검할 필요가 있습니다. 나중에 여러분이 인터럽트 핸들러를 작성한 후 이 방법을 써서 실행 시간을 측정해 보시길 바랍니다. ftrace에서 지원하는 function_graph 트레이서를 쓸려면 다음 config가 설정돼 있어야 합니다.CONFIG_DYNAMIC_FTRACE=yCONFIG_DYNAMIC_FTRACE_WITH_REGS=yCONFIG_FUNCTI
[리눅스커널][인터럽트후반부] IRQ 스레드 핸들 irq_thread() 함수 분석
IRQ 스레드 핸들 irq_thread() 함수 분석 이번에는 IRQ 스레드 핸들 함수가 어떤 과정으로 실행하는지 점검해 보겠습니다. 커널 쓰레드가 생성되면 무한 루프를 돌면서 쓰레드 상태에서 따라 정해진 동작을 수행하는 스레드 핸들 함수가 실행합니다. IRQ 스레드는 irq_thread() 함수가 이 역할을 수행합니다. 먼저 IRQ 스레드를 깨우면 실행하는 irq_thread() 함수를 소개합니다.1 static int irq_thread(void *data)2 {3 struct callback_head on_exit_work;4 struct irqaction *action = data; 5 struct irq_desc *desc = irq_to_desc(action->irq);6 irq
avconv / ffmpeg - 리눅스에서 동영상/음악 파일 변환
avconv는 동영상이나 음악 파일 형식을 변환해 주는 프로그램이다. 우선 설치를 하려면 터미널창에서 아래와 같이 작업. 데비안/우분투 계열 배포판 기준이다. # S/W 저장소 갱신 sudo apt-get update # libav-tools 패키지 설치 sudo apt-get install libav-tools 변환은 -i 옵션으로 입력 파일을 지정하고 출력 파일을 지정하면 된다. 예를 들어 m4a 오디오 파일을 mp3 파일로 변환하고 싶다면 아래와 같이 할 수 있다. # m4a 파일을 mp3 파일로 변환 avconv -i my_audio.m4a my_audio.mp3 지원하는 코덱의 종류는 아래와 같이 확인 가능하다. # 코덱 목록 출력 avconv -codecs
[리눅스커널] 인터럽트 후반부 처리: IRQ 스레드를 깨우는 코드 분석
IRQ 스레드는 누가 언제 실행할까? 이번 절에서는 IRQ 스레드가 어떤 과정으로 실행하는지 살펴보겠습니다. IRQ 스레드는 크게 다음 단계로 실행합니다.1. 인터럽트 핸들러에서 IRQ_WAKE_THREAD 반환2. IRQ 스레드 깨움3. IRQ 스레드 핸들러 실행 IRQ 스레드를 실행하는 출발점은 인터럽트 핸들러가 IRQ_WAKE_THREAD 를 반환하는 시점입니다. 이 부분부터 IRQ 스레드를 어떤 과정으로 깨우는지 세부 동작을 점검하겠습니다. IRQ 스레드를 깨우는 코드 분석 인터럽트가 발생하면 인터럽트 핸들러가 실행됩니다. 이 인터럽트 핸들러가 IRQ 스레드 실행의 출발점입니다. 인터럽트 핸들러에서 IRQ_WAKE_THREAD를 반환하면 해당 IRQ 스레드를 깨웁니다. 예를 들어 92번 “m



![[Spoiler] '우주 형제' 완결. 매거진 신작 '천선 전기'.](https://img.zoomtrend.com/2026/06/10/1781142015-ECBD98ED8AB8EBA1A4EB9FACEBA5BCEB93A0EC9E90.jpg)