Run all driving processes on cores 2-3 (#2257)

old-commit-hash: 059cf6b43e
commatwo_master
Adeeb Shihadeh 5 years ago committed by GitHub
parent d05c8e2a08
commit ff14d71845
  1. 2
      common/realtime.py
  2. 4
      selfdrive/controls/controlsd.py
  3. 4
      selfdrive/controls/plannerd.py
  4. 4
      selfdrive/controls/radard.py

@ -31,7 +31,7 @@ def set_core_affinity(core):
os.sched_setaffinity(0, [core,])
def config_rt_process(core, priority):
def config_realtime_process(core, priority):
gc.disable()
set_realtime_priority(priority)
set_core_affinity(core)

@ -3,7 +3,7 @@ import os
from cereal import car, log
from common.hardware import HARDWARE
from common.numpy_fast import clip
from common.realtime import sec_since_boot, config_rt_process, Priority, Ratekeeper, DT_CTRL
from common.realtime import sec_since_boot, config_realtime_process, Priority, Ratekeeper, DT_CTRL
from common.profiler import Profiler
from common.params import Params, put_nonblocking
import cereal.messaging as messaging
@ -42,7 +42,7 @@ EventName = car.CarEvent.EventName
class Controls:
def __init__(self, sm=None, pm=None, can_sock=None):
config_rt_process(3, Priority.CTRL_HIGH)
config_realtime_process(3, Priority.CTRL_HIGH)
# Setup sockets
self.pm = pm

@ -1,7 +1,7 @@
#!/usr/bin/env python3
from cereal import car
from common.params import Params
from common.realtime import Priority, config_rt_process
from common.realtime import Priority, config_realtime_process
from selfdrive.swaglog import cloudlog
from selfdrive.controls.lib.planner import Planner
from selfdrive.controls.lib.vehicle_model import VehicleModel
@ -11,7 +11,7 @@ import cereal.messaging as messaging
def plannerd_thread(sm=None, pm=None):
config_rt_process(2, Priority.CTRL_LOW)
config_realtime_process(2, Priority.CTRL_LOW)
cloudlog.info("plannerd is waiting for CarParams")
CP = car.CarParams.from_bytes(Params().get("CarParams", block=True))

@ -7,7 +7,7 @@ import cereal.messaging as messaging
from cereal import car
from common.numpy_fast import interp
from common.params import Params
from common.realtime import Ratekeeper, Priority, set_realtime_priority
from common.realtime import Ratekeeper, Priority, config_realtime_process
from selfdrive.config import RADAR_TO_CAMERA
from selfdrive.controls.lib.cluster.fastcluster_py import cluster_points_centroid
from selfdrive.controls.lib.radar_helpers import Cluster, Track
@ -174,7 +174,7 @@ class RadarD():
# fuses camera and radar data for best lead detection
def radard_thread(sm=None, pm=None, can_sock=None):
set_realtime_priority(Priority.CTRL_LOW)
config_realtime_process(2, Priority.CTRL_LOW)
# wait for stats about the car to come in from controls
cloudlog.info("radard is waiting for CarParams")

Loading…
Cancel
Save