[리눅스커널] 워크큐: 워크 실행의 출발점인 worker_thread() 함수 분석
Post
원문 보기 →[리눅스커널] 워크큐: 워크 실행의 출발점인 worker_thread() 함수 분석
워커 스레드가 깨어나면 스레드 핸들러인 worker_thread() 함수가 실행됩니다.worker_thread() 함수는 워커 스레드를 종료하거나 생성하는 기능을 수행하지만 핵심 동작은 워크를 실행하는 것입니다. 이번 소절에서는 worker_thread() 함수에서 워크를 실행하는 동작에 초점을 맞춰 분석하겠습니다. worker_thread() 함수 세부 동작은 다음 워커 스레드 절에서 상세히 다룹니다. 다음은 worker_thread() 함수에서 워크 실행에 관련된 코드 조각입니다.[https://github.com/raspberrypi/linux/blob/rpi-4.19.y/kernel/workqueue.c]01 static int worker_thread(void *__worker)02 {03
Related Posts
3 posts
앱테크 추천 오락 만보기와 일상생활을 통해 포인트 적립
앱테크 추천 오락 만보기와 일상생활을 통해 포인트 적립 생활을 통해 포인트를 적립 받을 수 있는 앱테크 어플! 오락! 여러분들은 이용하고 계시나요? 저는 만보기 앱과 뉴스 읽기, 유튜브 보기, 기타 광고 등을 이용해서 포인트를 적립 받고 있는데요. 이렇게 적립 받은 포인트는 현금처럼 사용할 수 있어 매일매일 잘 이용하고 있습니다. 안드로이드 스마트폰에서 사용 가능한 오락은 OK캐쉬백 포인트로 적립 받을 수 있는데요. 오락에서 적립 받은 OK캐쉬백 포인트 및 내역은 OK캐쉬백 앱에서도 확인이 가능하다고 합니다. 이번에 오락 v1.9.0으로 업데이트되면서 오락 앱의 리워드가 확대되었다고 하는데요. 오락 사.......
[리눅스커널] 워크큐: struct worker 구조체 파악하기
워커를 관리하고 저장하는 자료구조는 worker 구조체입니다. 이번 절에서는 worker 구조체의 세부 필드를 분석하겠습니다. worker 구조체 분석 다음은 worker 구조체의 선언부입니다. struct worker {2 union {3 struct list_head entry; 4 struct hlist_node hentry; 5 };6 struct work_struct *current_work; 7 work_func_t current_func; 8 struct pool_workqueue *current_pwq; 9 bool desc_valid;10 struct list_head scheduled; 1112 struct task_struct *task; 13 struct worker_p
[리눅스커널] 딜레이 워크: 패치 코드 내용과 작성 방법 알아보기
이번 절에서는 딜레이 워크를 만들어보는 실습을 진행합니다. 실습할 패치 코드 시나리오는 다음과 같습니다. 인터럽트 핸들러에서 워크를 큐잉 워크 핸들러 실행 워크 핸들러에서 딜레이 워크를 실행 이번 장에서 배운 내용을 총복습하는 실습입니다. 먼저 패치 코드를 작성해 봅시다. 패치 코드의 내용과 작성 방법 먼저 패치 코드를 소개하겠습니다. diff --git a/drivers/mailbox/bcm2835-mailbox.c b/drivers/mailbox/bcm2835-mailbox.c--- a/drivers/mailbox/bcm2835-mailbox.c+++ b/drivers/mailbox/bcm2835-mailbox.c@@ -33,11 +33,23 @@1 #include



