Linux Kernel(4.19) Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

96258
1323
114598


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

이전 11 12 13 14 15 16 17 18 19 20 다음

[라즈베리파이] 워크큐(Workqueue) - worker_thread() 함수 분석(3)

Contents of tableworker_thread() 함수 분석(1)worker_thread() 함수 분석(2)worker_thread() 함수 분석(3) 이번에는 worker_thread() 함수에서 가장 중요한 37번 줄 코드를 분석할 차례입니다. 위 그림에서 워커 쓰레드의 “실행” 단계입니다. 코드를 봅시다.37 do {38...

[라즈베리파이] Process - 프로세스 상태

이름으로 알 수 있듯이, state 필드는 프로세스가 어떤 동작 중인지 알려줍니다. 이 필드는 플래그의 배열이고 각 플래그는 프로세스 상태를 표현합니다.. 현재 리눅스 버전에서는 이 상태들이 상호 배타적이고, state의 플래그 하나만 설정하므로 나머지 플래그들은 Clear합니다. 프로세스 상태는 아래와 같습니다. TASK_RUNNING#def...

[라즈베리파이] 워크큐(Workqueue) - worker_thread() 함수 분석(2)

Contents of tableworker_thread() 함수 분석(1)worker_thread() 함수 분석(2)worker_thread() 함수 분석(3) 먼저 워커 쓰레드 핸들 함수인 worker_thread() 를 분석합니다.1 static int worker_thread(void *__worker)2 {3 struct worker *...

[리눅스커널] 워크큐(Workqueue) - worker_thread() 함수 분석(1)

Contents of tableworker_thread() 함수 분석(1)worker_thread() 함수 분석(2)worker_thread() 함수 분석(3) 워크는 워커 쓰레드가 실행합니다. 워커 쓰레드를 관리하는 자료구조는 struct worker 구조체이며 이를 워커라고 부릅니다. 이전까지 자료구조 중심으로 워크를 분석했는데 이번에는 워...

[라즈베리파이] 워크큐(Workqueue) - 워크는 누가 언제 호출하나? (2) @process_one_work

From...워크는 누가 언제 호출하나? (1) @process_one_work 다음 24~26번 줄 코드를 분석하겠습니다.24 worker->current_work = work;25 worker->current_func = work->func;26 worker->current_pwq = pwq;24~25번 줄 코드에서 w...

[라즈베리파이] git clone 명령어로 특정 커밋 코드로 돌리기

이번에는 git clone 명령어로 특정 커밋으로 소스 코드를 변경하는 과정을 알아봅시다.돌아가려는 커밋은 6/13/2018 날짜입니다.commit 5762758699e1ddab22bf4c14eb225941761c52c8Author: Dave Stevenson <dave.stevenson@raspberrypi.org>Date:&nbs...

[라즈베리파이] 워크큐(Workqueue) - 워크를 워크큐에 어떻게 큐잉할까?(2)

From: 워크를 워크큐에 어떻게 큐잉할까?(1)에서 계속...이번에는 28줄 코드를 보겠습니다.28 last_pool = get_work_pool(work);struct work_struct 구조체인 work 변수로 get_work_pool() 함수를 호출해서 struct worker_pool 구조체 주소를 last_pool 지역변수로 읽습니다. ge...

[리눅스커널] 시간관리: 라즈베리파이에서 동적 타이머 등록 및 실행 과정 ftrace로 확인하기

이전 시간에 소스 코드 분석으로 커널 시스템 타이머 동작에 대해 알아봤습니다. 코드를 읽고 이해하는 과정도 중요하지만 배운 내용을 자신의 것으로 만들려면 분석한 코드가 리눅스 시스템에서 실제 어떻게 실행하는지 확인해야 합니다. 한 걸음 나아가 코드를 수정하면서 라즈베리파이에서는 커널 타이머 자료구조 데이터가 어떤 값인지도 확인할 필요도 있습니다...

[리눅스커널] 시간관리: 커널 타이머 실행 시작 단계 코드 분석

먼저 커널 타이머 1단계 세부 동작을 살펴봅니다. 다음 그림은 커널 시스템 타이머 전체 흐름도 중 1단계 부분입니다.  [그림 8.6] 커널 타이머 전체 흐름도에서 동적 타이머 등록 단계  위 그림에서 [1]번 위쪽 화살표 방향으로 호출되는 함수 흐름을 살펴봅시다.타이머 인터럽트가 발생하면 인터럽트 핸들러 함수인 arch_t...

[라즈베리파이] 워크큐(Workqueue) - 워크(struct work_struct) 란

리눅스 커널에서 work라고 부르나 워크(struct work_struct)로 명시 하겠습니다.워크란 무엇이고 어떤 동작을 할까요? 워크는 워크큐 실행 단위이며 워커 쓰레드에서 실행합니다. 커널 후반부 처리 기법으로 워크큐를 많이 쓴다고 했는데 워크가 바로 후반부 처리를 합니다. 워크가 어떻게 동작하는지 이번 장에서 코드를 분석하면서 상세히 알아볼 예정...
이전 11 12 13 14 15 16 17 18 19 20 다음