태그>workqueue(총 47개의 글)
'workqueue' 관련 최근글
-
- [리눅스커널] 워크큐: 워커 스레드 핸들 worker_t..
-
Linux Kernel(4.19) Hacks by AustinKim|2019/10/01 20:18
2단계: “전처리” 단계 워커 스레드의 “전처리” 단계 코드를 분석할 차례입니다. 다음 24번째 줄 코드를 보겠습니다. 24 recheck:25 /* no more worker necessary? */26 if (!need_more_worker(pool))2..
- [리눅스커널] 워크큐: 워커 스레드 핸들 worker_t..
-
- [리눅스커널] 워크큐: 워커 스레드 핸들 worker_t..
-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/29 13:50
커널 스레드를 처음 분석하려고 할 때 다음과 같은 의문이 생길 때가 있습니다. 새로운 커널 스레드 코드 분석을 시작할 때 어느 코드부터 분석해야 할까? 먼저 커널 스레드 핸들 함수를 열어봐야 합니다. 그 이..
- [리눅스커널] 워크큐: 워커 스레드 핸들 worker_t..
-
- [리눅스커널] 워크큐: 워커 스레드를 생성하는 create_worker() 함수..
-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/25 18:57
워커 스레드를 생성하려면 create_worker() 함수를 호출해야 합니다. 이번 시간에는 create_worker() 함수 코드를 분석하면서 워커 스레드를 생성하는 과정을 배워보겠습니다. 먼저 create_worker() 함수가 하는 주요 동작은 다음과 같습니다. 워커풀 아이디 읽어..
- [리눅스커널] 워크큐: 워커 스레드를 생성하는 create_worker() 함수..
-
- [리눅스커널] 워크큐: 워커 스레드는 누가 언제 만들까
-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/25 18:55
이번 챕터 앞 부분에서 워크큐에 대해 다음과 같이 소개했습니다. 워크를 처리하는 워커 스레드를 미리 생성해 놓고 워크 실행 요청이 오면 해당 워커 스레드가 이를 처리한다. 이번 시간에는 워커 스레드의 핸들인 워커를 언제 생성하는지 알아보겠습니다. 그렇다면 워커는 어느 ..
- [리눅스커널] 워크큐: 워커 스레드는 누가 언제 만들까
-
- [리눅스커널] 워크큐: 워커 자료구조인 struct worker 구조체 알아보기
-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/23 06:57
워커를 관리하고 저장하는 자료구조는 struct worker 구조체입니다. 이번 시간에는 struct worker 구조체 세부 필드를 분석하겠습니다. struct worker 구조체 분석하기 다음은 struct worker 구조체 선언부입니다.[https://elixir.bootlin.com/linux/v4.19.30/source/kerne..
- [리눅스커널] 워크큐: 워커 자료구조인 struct worker 구조체 알아보기
-
- [리눅스커널] 워크큐: 워커와 워커 스레드란
-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/22 22:57
커널에서 워크큐 관련 함수를 호출하고 워크큐 자료 구조를 관리합니다. 이를 위해 생성된 프로세스가 워커 스레드이며 워커란 자료구조로 세부 동작을 관리합니다. 이번 시간에서는 워커와 워커 스레드가 무엇인지 먼저 알아보겠습니다. 라즈베리파이에서 워커 스레드 확인하기 워..
- [리눅스커널] 워크큐: 워커와 워커 스레드란
-
- [리눅스커널] 워크큐(workqueue): __que..
-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/16 22:10
워크를 워크큐에 큐잉하는 핵심 동작은 _queue_work() 함수에서 수행합니다. 코드 분석을 통해 워크를 워크큐에 어떤 방식으로 큐잉하는지 살펴보겠습니다. 코드 분석에 앞서 _queue_work() 함수 ..
- [리눅스커널] 워크큐(workqueue): __que..
-
- [리눅스커널] 워크큐(workqueue): 워크를 워크큐에 큐잉하는 인터..
-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/16 22:08
커널은 디바이스 드라이버 레벨에서 워크큐를 큐잉할 수 있는 여러 가지 함수를 지원합니다.이번 시간에는 워크를 워크큐에 큐잉할 때 사용하는 함수를 소개하고 코드를 분석합니다. schedule_work() queue_work() queue_work_on() 먼저 schedule_wo..
- [리눅스커널] 워크큐(workqueue): 워크를 워크큐에 큐잉하는 인터..
-
- [리눅스커널] 워크큐(workqueue): Trace32로 워크큐 자료 구조 디..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/21 14:02
이번 시간에는 임베디드 디버깅 프로그램인 Trace32를 써서 워크큐 자료구조를 점검합니다. 리눅스 커널 시스템에서 커널 크래시가 나면 생성되는 vmcore를 올려 확인한 내용입니다. 참고로, vmcore는 라즈베리파이가 아니라 다른 ARM64비트 아키텍처를 적용한 시스템에서 ..
- [리눅스커널] 워크큐(workqueue): Trace32로 워크큐 자료 구조 디..
-
- [리눅스커널] 워크큐: 딜레이 워크는 누가 언제 ..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/21 10:27
이전 소절에서는 schedule_delayed_work() 함수를 호출하면 딜레이 워크 동적 타이머를 등록하는 과정을 살펴봤습니다. 이어서 지정한 지연 시각 후에 실행하는 딜레이 워크 동적 타이머 핸들러인 dela..
delayed_work_timer_fn, 딜레이워크, 워크큐, workqueue, schedule_delayed_work
- [리눅스커널] 워크큐: 딜레이 워크는 누가 언제 ..
-
- [리눅스커널] 워크큐(workqueue): 딜레이 ..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/13 22:52
먼저 딜레이 워크 전체 흐름도를 보면서 딜레이 워크 실행 흐름을 확인해보겠습니다. 그림 7.21 딜레이 워크 실행 흐름도 중 2단계 동작 이번 소절에서는 위 그림에서 ② 부분 단계 처리 과정 살펴보겠습..
schedule_delayed_work, queue_delayed_work, __queue_delayed_work, 워크큐, workqueue
- [리눅스커널] 워크큐(workqueue): 딜레이 ..
-
- [리눅스커널] 워크큐: 딜레이 워크(delayed_wo..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/12 14:12
딜레이 워크 소개 워크큐는 대표적인 커널 후반부 처리 기법으로 후반부 처리 코드를 워크 핸들러에서 실행합니다. 동기적으로 처리 할 필요가 없는 코드를 워크 핸들러에 위치시켜 비동기적으로 커널 쓰레드 레벨에서 처리하..
- [리눅스커널] 워크큐: 딜레이 워크(delayed_wo..
-
- [리눅스커널] 워크큐: 워커 쓰레드 핸들 worker_t..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/10 00:00
워크는 워커 쓰레드가 실행합니다. 워커 쓰레드를 관리하는 자료구조는 struct worker 구조체이며 이를 워커라고 부릅니다. 이전 절까지는 자료구조 중심으로 워크를 분석했는데 이번에는 워커 쓰레드가 쓰레드..
워커스레드, worker_thread, 리눅스, 커널, linux
- [리눅스커널] 워크큐: 워커 쓰레드 핸들 worker_t..
-
- [리눅스커널] 워크큐: 워커 스레드란
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/09 23:52
워커 스레드는 워크를 실행하는 커널 스레드입니다. 이번 절에서는 워커 스레드가 무엇이고 이를 어떤 방식으로 생성하고 실행하는지 살펴보겠습니다.
- [리눅스커널] 워크큐: 워커 스레드란
-
- [리눅스커널] 워크큐: 워커 쓰레드는 누가 언제 ..
-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/09 23:51
워커와 워커 쓰레드의 개념부터 정리하고 워커 쓰레드 생성에 대해 알아봅시다. 워커 쓰레드는 커널 쓰레드의 한 종류로 워크를 실행하는 쓰레드입니다. 쓰레드 핸들 함수는 worker_thread() 입니다. 처음 ..
- [리눅스커널] 워크큐: 워커 쓰레드는 누가 언제 ..