[Linux Scheduling] SCHED_DEADLINE 지원하려면 어떻게 해야할까요?
안녕하세요.
Linux Scheduling에 대해 공부하고 있습니다.
pthread를 이용하여 스케줄링 방식을 설정하고 있는데,
리얼타임 스케줄링 중(SCHED_FIFO, SCHED_RR, SCHED_DEADLINE)
SCHED_DEADLINE을 설정하려고 하는데,
'SCHED_DEADLINE' undeclared 라는 에러 발생 및
struct sched_attr 라는 구조체를 알 수 없다고 뜹니다.
(SCHED_DEADLINE은 리눅스 커널 3.14 이상의 버전에서 지원한다고 돼있고,
현재 커널 버전은 3.19입니다.)
혹시 make menuconfig시 체크해야하는 부분이라든가
제가 놓치고 있는 부분이 있으면 알려주세요ㅜ
(커널 버전은 4.x 로 올려도 상관없습니다)
참고한 예제는 다음과 같습니다.
==========================================
#include
...
struct sched_attr attr;
attr.size = sizeof(struct attr);
attr.sched_policy = SCHED_DEADLINE;
attr.sched_runtime = 30000000;
attr.sched_period = 100000000;
attr.sched_deadline = attr.sched_period;
...
if (sched_setattr(gettid(), &attr, 0))
perror("sched_setattr()");
...
==========================================
(출처: http://retis.sssup.it/~jlelli/talks/rts-like14/SCHED_DEADLINE.pdf - p24)
읽어주셔서 감사합니다.
댓글 달기