[리눅스커널] 스케줄링: 런큐 runqueues 변수에 대해서

Guillermo Austin Kim|2019년 9월 14일
Posts

[리눅스커널] 스케줄링: 런큐 runqueues 변수에 대해서

Guillermo Austin Kim|2019년 9월 14일

런큐는 per-cpu 타입 전역 변수인 runqueues로 각각 CPU 갯수 별로 프로세스 스케줄링 정보를 저장합니다. runqueues 변수 선언부 확인하기 먼저 per-cpu 타입 런큐 전역 변수를 소개합니다. [https://elixir.bootlin.com/linux/v4.19.30/source/kernel/sched/sched.h] 1 DECLARE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues); 런큐는 runqueues 이란 per-cpu 타입 전역 변수로 관리합니다. 따라서 per-cpu 별 런큐 주소를 얻기 위해서 다음과 같은 cpu_rq() 함수와 this_irq() 함수를 호출해야 합니다. [https://elixir.bootlin.com/linux/v