Linux 6.18 · PREEMPT_RT / timerlat

실시간 기능을 켜고 지연을 측정해도 마감시간 검증은 따로 필요합니다

RT 커널 사용, 시험에서 본 최댓값, 응용의 시간 요구 충족은 각각 다른 증거가 필요합니다.

PREEMPT_RT는 선점 가능한 구간을 늘립니다

Linux 6.18의 PREEMPT_RT는 sleep 가능한 lock과 threaded interrupt로 많은 실행 구간을 스케줄러의 제어 아래 둡니다. 진입 코드·스케줄러·저수준 인터럽트 처리 같은 핵심 예외까지 모두 선점 가능해지는 것은 아닙니다.

이 기능을 켰다고 해서 특정 보드의 최대 응답시간이나 응용 마감시간 충족이 증명되지는 않습니다. 드라이버·펌웨어·부하와 실제 설정을 함께 고정해야 합니다.

관찰한 최댓값과 보장된 상한을 구분합니다

cyclictest는 주기적 깨우기의 지연을 관찰합니다. 시험 중 나온 최댓값은 해당 시간·부하·CPU 배치·우선순위에서의 관측 결과이지, 시험하지 않은 모든 상황에 대한 상한 증명이 아닙니다.

timerlat는 같은 activation의 IRQ context와 thread context 지연을 나눠 원인을 좁힙니다. 만료 예정 시각부터 각각 측정한 값이므로 두 값을 단순히 더하지 않습니다.

응용의 시작과 완료 지점에서 검증합니다

응용의 마감시간은 입력이 도착한 뒤 필요한 계산·통신·출력이 완료될 때까지의 요구사항입니다. 깨우기 지연만 측정하면 그 뒤의 lock 대기, I/O와 처리시간을 놓칠 수 있습니다.

실제 작업 부하에서 시작·완료 시각, 마감시간 위반과 시험 조건을 함께 기록합니다. 2021년 Toradex의 실험적 지원 설명이나 특정 부하의 숫자를 현재 제품의 보장으로 재사용하지 않습니다.

각 주장에 맞는 증거
  1. 기능

    선점·IRQ·lock 동작

  2. 측정

    조건을 명시한 지연 관찰

  3. 요구사항

    응용 완료와 마감시간

출처와 연결

Linux 6.18 RT 스케줄러의 실행 조건