nopenpilot/selfdrive/rtshield.py

22 lines
555 B
Python
Executable File

#!/usr/bin/env python3
import os
import time
from typing import NoReturn
from common.realtime import set_core_affinity, set_realtime_priority
# RT shield - ensure CPU 3 always remains available for RT processes
# runs as SCHED_FIFO with minimum priority to ensure kthreads don't
# get scheduled onto CPU 3, but it's always preemptible by realtime
# openpilot processes
def main() -> NoReturn:
set_core_affinity(int(os.getenv("CORE", "3")))
set_realtime_priority(1)
while True:
time.sleep(0.000001)
if __name__ == "__main__":
main()