[리눅스커널] 스케줄링: CFS 세부 함수 분석 - vruntime 관리 세부 함수 분석

Guillermo Austin Kim|2019년 8월 27일
Posts

[리눅스커널] 스케줄링: CFS 세부 함수 분석 - vruntime 관리 세부 함수 분석

Guillermo Austin Kim|2019년 8월 27일

이번 소절에서는 vruntime 핵심 동작과 관련된 커널 소스 코드를 분석합니다. 프로세스를 vruntime 기준으로 CFS 런큐 레드 블랙 트리에 등록CFS가 다음 프로세스를 레드 블랙 트리에서 선택(pick)하는 과정 프로세스를 vruntime 기준으로 CFS 런큐 레드 블랙 트리에 등록프로세스는 실행 요청을 할 때 자신을 런큐에 등록합니다. 이 과정에서 다음 동작을 처리합니다.  CFS는 실행 요청을 한 프로세스의 vruntime과 이미 런큐에 등록된 프로세스들의 vruntime을 비교한 후, 레드 블랙 트리에 등록을 한다. 세부 동작은 enqueue_entity() 함수에서 확인할 수 있습니다.[https://github.com/raspberrypi/linux/blob/rp