Linux Kernel(4.19) Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

784223
1016
122600


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

1

[리눅스커널] 프로세스: 프로세스 컨택스트 정보는 어떻게 저장할까?

리눅스 커널에서는 프로세스 실행 흐름은 컨택스트란 용어로 표현합니다.컨택스트 종류는 다음과 같습니다.   1. 프로세스 컨택스트: 프로세스가 스케줄링 될 수 있는 상태   2. 인터럽트 컨택스트: 인터럽트가 발생한 후 인터럽트 핸들링을 위한 동작 중   3. Soft IRQ 컨택스트: Soft IRQ...

[리눅스커널] 프로세스: struct thread_info 구조체 소개

프로세스 상세 정보를 저장하는 자료구조는 태스크 디스크립터입니다. 이와 더불러 프로세스 세부 실행 정보를 저장하는 struct thread_info 자료구조가 있습니다.커널이 프로세스를 생성할 때 프로세스마다 고유한 스택 공간을 부여합니다. 스택 최상단 주소에 struct thread_info 구조체 필드가 저장돼 있습니다. 이 구조체 필드는 커널이 프...

ARM64 - 프로세스(Process) preempt_disable(), preemption 스케줄(Schedule) 조건 분석

아래 제 블로그에서 ARM32 아키텍처에서 preempt_disable() 매크로 함수를 호출하면 __irq_svc 벡터에서 svc_preempt 함수를 호출하지 않아, preemption이 수행되지 않는다고 확인했어요.http://rousalome.egloos.com/9964816이번에는 ARM64(Aarch64) 아키텍처에서는 어떤 코드로 ...

[Linux][Kernel] irq - in_interrupt irq context(BEST)

커널이나 드라이버 코드 리뷰를 하는 도중에 preempt_add, preempt_sub 그리고 in_interrupt 함수를 자주 마주칩니다. 이 함수들의 사용 예와 구현부에 대해서 좀 더 짚어 볼까요?리눅스 커널에서 보는 모든 코드는 두 가지 모드에서 돌고 있어요.process context: 우리가 보는 대부분의 코드라고 할 수 있는데, 커...
1