ARM Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

192239
1625
172589


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

1

[리눅스커널] 프로세스: thread_info 구조체 - cpu 필드에 대한 상세 분석

thread_info 구조체의 cpu 필드는 프로세스가 실행 중인 CPU 번호를 저장합니다. 그러면 현재 코드가 어떤 CPU에서 구동 중인지 알려면 어떤 함수를 써야 할까요? 커널에서 제공하는 smp_processor_id() 함수를 호출하면 됩니다. smp_processor_id() 함수 분석smp_processor_id() 함수를 보면서 세...

[리눅스커널] thread_info 구조체의 preempt_count - 인터럽트 컨텍스트 실행 저장

리눅스 시스템에서 인터럽트는 언제든지 발생할 수 있습니다. 인터럽트가 발생하면 프로세스 실행을 멈추고 인터럽트에 해당하는 인터럽트 핸들러를 실행합니다. 커널에서는 인터럽트가 발생해서 인터럽트 서비스 루틴을 실행하는 동작을 인터럽트 컨텍스트라고 부릅니다.  ---참고로 인터럽트는 외부 입출력 장치에 어떤 변화가 있을 때 발생하는 전기 신...

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

thread_info 구조체의 필드 중 preempt_count는 프로세스 컨텍스트 정보를 저장합니다. 이번 절에서는 preempt_count 필드를 중심으로 컨텍스트 정보가 바뀌는 과정을 살펴보겠습니다.다음은 preempt_count 필드가 바뀌면서 컨텍스트 정보가 바뀌는 상황입니다. 인터럽트 컨텍스트 실행 시작 및 종료 설정 Soft IRQ 컨텍...

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

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

[프로세스] 실행 중인 cpu 정보 업데이트(커널 4.9.65 )

ARM64 비트 리눅스 커널 4.9.65 버전에서 아래 구조체가 변경됐습니다.특히 해당 프로세스가 돌고 있던 CPU 정보를 담고 있는 int cpu 멤버가 사라졌는데요.crash64> struct thread_infostruct thread_info {    unsigned long flags;    mm_seg...
1