태그>interrupt(총 59개의 글)
'interrupt' 관련 최근글
-
- [리눅스커널] 인터럽트: 인터럽트를 잘 알아야 하는..
-
Linux Kernel(4.19) Hacks by AustinKim|2020/03/02 01:18
커널이 인터럽트를 처리하는 과정과 자료구조를 왜 잘 알아야 할까요? 인터럽트를 처리하는 방식이 시스템 전반에 큰 영향을 끼치기 때문입니다. 또한 리눅스 커널 시스템 전반을 잘 이해하기 위해서도 커널이 인터럽트를 어..
- [리눅스커널] 인터럽트: 인터럽트를 잘 알아야 하는..
-
- [리눅스커널] 인터럽트: 리눅스 커널이 처리하는..
-
Linux Kernel(4.19) Hacks by AustinKim|2020/03/02 01:15
앞에서 인터럽트에 대해 소개했으니 리눅스 커널에서 인터럽트를 처리하는 방식을 이해하기 위해 알아야 할 주요 개념을 소개합니다. 인터럽트 핸들러 인터럽트 벡터 인터럽트 디스크립터 인터럽트 ..
- [리눅스커널] 인터럽트: 리눅스 커널이 처리하는..
-
- [리눅스커널] 라즈베리 파이에서 IRQ 스레드 생성..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/28 05:05
지금까지 IRQ 스레드를 생성하면 커널 내부에서 다음과 같이 처리한다는 사실을 배웠습니다. request_threaded_irq() 함수를 호출하면 인터럽트 속성을 설정한다. 내부 함수에서 kthread_create() 함수를..
- [리눅스커널] 라즈베리 파이에서 IRQ 스레드 생성..
-
- [리눅스커널][인터럽트후반부] IRQ 스레드 동작 확인하기
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/28 05:03
IRQ 스레드 동작 확인하기 이제 실제 라즈베리안에서 IRQ Thread가 어떻게 수행되는지 ftrace 로그로 분석할 시간입니다. 이를 위해 다음과 같이 ftrace 로그를 설정해야 합니다. #!/bin/sh echo 0 > /sys/kernel/debug/tracing/tracing_onsleep 1echo "trac..
- [리눅스커널][인터럽트후반부] IRQ 스레드 동작 확인하기
-
- [리눅스커널][인터럽트후반부] IRQ 스레드 핸들 irq_thread() 함수..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/25 23:05
IRQ 스레드 핸들 irq_thread() 함수 분석 이번에는 IRQ 스레드 핸들 함수가 어떤 과정으로 실행하는지 점검해 보겠습니다. 커널 쓰레드가 생성되면 무한 루프를 돌면서 쓰레드 상태에서 따라 정해진 동작을 수행하는 스레드 핸들 함수가 실행합니다. IRQ 스레드는 irq_thread(..
irq_thread, IRQ스레드, 커널, 리눅스, 인터럽트후반부
- [리눅스커널][인터럽트후반부] IRQ 스레드 핸들 irq_thread() 함수..
-
- [리눅스커널][SoftIRQ] Soft IRQ 서비스란
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/23 20:46
Soft IRQ를 설명하면서 낯선 용어를 설명했는데, 이제부터 그 의미를 하나하나씩 살펴 보겠습니다. Soft IRQ 서비스란 용어를 소개합니다. Soft IRQ 서비스를 빨리 이해하려면 코드를 먼저 봐야 합니다. Soft IRQ 서비스는 아래 enum으로 정의한 코드와 같습니다.[include/li..
- [리눅스커널][SoftIRQ] Soft IRQ 서비스란
-
- [리눅스커널] 인터럽트 후반부 처리: Top Half/Bot..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/10 10:06
앞서 살펴본 바와 같이 인터럽트 컨택스트에서 인터럽트 핸들링을 빠른 시간에 마무리해야 합니다. 또한 시간이 오래 걸리는 함수를 호출하면 시스템은 커널 패닉으로 시스템이 오동작 할 수 있습니다. 여기서 한 가지 걱정이..
- [리눅스커널] 인터럽트 후반부 처리: Top Half/Bot..
-
- [리눅스커널] 인터럽트 컨택스트에서 많은 일을..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/10 09:44
인터럽트 후반부 기법이 도입된 이유는 다음과 같이 인터럽트를 처리해야 하기 때문입니다. 인터럽트 핸들러에서는 짧고 간결하게 코드가 실행되야 한다. 여기서 한 가지 의문이 생깁니다. 인터럽트 핸들..
- [리눅스커널] 인터럽트 컨택스트에서 많은 일을..
-
- [리눅스커널] 인터럽트 후반부 기법을 적용하는 이유
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/10 09:41
인터럽트 후반부 기법을 적용하는 이유 인터러트 후반부 기법을 쓰는 이유에 대해 알아보기 전에 커널이 인터럽트를 어떤 방식으로 처리하는지 살펴볼 필요가 있습니다. 5장에서 배운 내용을 정리해보겠습니다. 1. 인터럽트가 발생하면 커널은 실행 중인 프로세스를 멈추고 인터럽트..
리눅스커널, 리눅스, 커널, IRQ스레드, threaded_irq
- [리눅스커널] 인터럽트 후반부 기법을 적용하는 이유
-
- [리눅스커널]인터럽트 후반부 처리 기법 종류 및 소개
-
Linux Kernel Crash TroubleShooting by KernelCrash|2019/02/09 00:19
인터럽트 후반부 처리 기법 종류 및 소개 이번 장에서는 리눅스 커널이 Bottom Half을 처리하는 대표적인 기법인 IRQ 스레드와 Soft IRQ 기법을 다룹니다. 워크큐는 워크큐를 다루는 장에서 살펴볼 예정입니다. 세 가지 기법 인터럽트 후반부 처리하는 방식이 조금씩 다릅니다. 하지..
- [리눅스커널]인터럽트 후반부 처리 기법 종류 및 소개
-
- [리눅스커널] 인터럽트 후반부 처리: Top Half/Bottom Half 란 무엇일까?
-
Linux Kernel Crash TroubleShooting by KernelCrash|2019/02/09 00:19
Top Half/Bottom Half 란 무엇일까? 이전 소절에선 인터럽트 컨택스트에서 인터럽트 핸들링을 빠른 시간에 마무리해야 한다고 설명을 드렸습니다. 또한 시간이 오래 걸리는 함수를 호출하면 시스템은 커널 패닉과 같이 시스템이 오동작 할 수 있다고 소개했습니다. 여기서 한 가지 ..
TopHalf, BottomHalf, 리눅스, 커널, 인터럽트
- [리눅스커널] 인터럽트 후반부 처리: Top Half/Bottom Half 란 무엇일까?
-
- [리눅스커널] 인터럽트 후반부 기법을 적용하는 이유
-
Linux Kernel Crash TroubleShooting by KernelCrash|2019/02/09 00:18
인터럽트 후반부 기법을 적용하는 이유 인터러트 후반부 기법을 쓰는 이유에 대해 알아보기 전에 커널이 인터럽트를 어떤 방식으로 처리하는지 살펴볼 필요가 있습니다. 5장에서 배운 내용을 정리해보겠습니다. 1. 인터럽트가 발생하면 커널은 실행 중인 프로세스를 멈추고 인터럽트..
- [리눅스커널] 인터럽트 후반부 기법을 적용하는 이유
-
- [리눅스커널][인터럽트] 인터럽트 핸들러 등록 ..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/06 12:10
인터럽트의 속성 플래그를 소개하기에 앞서 인터럽트의 신호에 대해 살펴보겠습니다. 디바이스 브링업(Bring-up)을 할 때 인터럽트로 디바이스와 제대로 통신하는지 점검하는 경우가 있습니다. * 유튜브 강의 동영상도..
- [리눅스커널][인터럽트] 인터럽트 핸들러 등록 ..
-
- [리눅스커널] Soft IRQ 서비스 실행: __do_softi..
-
Linux Kernel(4.14) Hacks by Guillermo|2018/07/15 23:04
이제 Soft IRQ 의 핵심 코드인 _do_softirq() 함수를 분석할 차례입니다. 분석할 전체 코드는 다음과 같습니다. 1 asmlinkage _visible void _softirq_entry _do_softirq(void)2{3 unsigned long end = jif..
__do_softirq, softirq, 리눅스, 커널, linux
- [리눅스커널] Soft IRQ 서비스 실행: __do_softi..
-