태그 : in_interrupt 요약보기전체보기목록닫기
- [리눅스커널] 비트 마스크를 어셈블리 코드로 빨리 읽는 방법 - HARDIRQ_MASK, SOFTIRQ_MASK, NMI_MASK!(0)2019.05.12
- [리눅스커널][인터럽트] 인터럽트 컨택스트: in_interrupt() 함수 코드분석(9)2019.04.12
- [리눅스커널][인터럽트] 인터럽트 컨택스트란 - in_interrupt()(0)2019.04.12
- [라즈베리파이] 인터럽트 디버깅 - in_interrupt #CS(0)2018.06.05
- [Linux][Kernel] irq - in_interrupt irq context(BEST)(0)2017.12.03
1
- Linux Kernel - Core Analysis
- 2019/05/12 07:53
이번에는 비트 마스크를 C 코드가 아닌 어셈블리 코드로 읽는 방법을 소개합니다.in_interrupt() 함수 소개in_interrupt() 함수는 현재 프로세스가 인터럽트 컨택스트인지 알려주는 기능입니다.[https://elixir.bootlin.com/linux/v4.19.30/source/include/linux/preempt.h]#define i...
- 5. 인터럽트
- 2019/04/12 10:06
5.2.3 in_interrupt() 함수란리눅스 커널이 실행할 때 수많은 함수가 각자 서로를 호출합니다. 어떤 함수는 프로세스 컨택스트에서 실행(커널 쓰레드)되는데 대부분 함수는 인터럽트 컨택스트, 즉 인터럽트 처리하는 도중 호출될 수 있습니다. 만약 현재 실행하는 코드가 인터럽트를 처리 중이면 더 빨리 처리해야겠죠? 인터럽트 서비스 루틴은 ...
- 5. 인터럽트
- 2019/04/12 10:02
- 5. 인터럽트
- 2018/06/05 05:25
in_interrupt 함수는 현재 구동 중인 프로세스 스택 Top 주소에 위치한 current_thread_info()->preempt_count 멤버이며 인터럽트 서비스 루틴이 실행되기 전 __irq_enter 함수에서 HARDIRQ_OFFSET를 더하고 인터럽트 서비스 루틴이 종료되면 해제합니다.이제 커널 소스를 조금 수정해서 라즈베리안에서는...
- [Linux][Kernel] IRQ(Interrupt)
- 2017/12/03 12:47
커널이나 드라이버 코드 리뷰를 하는 도중에 preempt_add, preempt_sub 그리고 in_interrupt 함수를 자주 마주칩니다. 이 함수들의 사용 예와 구현부에 대해서 좀 더 짚어 볼까요?리눅스 커널에서 보는 모든 코드는 두 가지 모드에서 돌고 있어요.process context: 우리가 보는 대부분의 코드라고 할 수 있는데, 커...
1
최근 덧글