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,]) os.sched_setaffinity(0, [core,])
def config_rt_process(core, priority): def config_realtime_process(core, priority):
gc.disable() gc.disable()
set_realtime_priority(priority) set_realtime_priority(priority)
set_core_affinity(core) set_core_affinity(core)

@ -3,7 +3,7 @@ import os
from cereal import car, log from cereal import car, log
from common.hardware import HARDWARE from common.hardware import HARDWARE
from common.numpy_fast import clip 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.profiler import Profiler
from common.params import Params, put_nonblocking from common.params import Params, put_nonblocking
import cereal.messaging as messaging import cereal.messaging as messaging
@ -42,7 +42,7 @@ EventName = car.CarEvent.EventName
class Controls: class Controls:
def __init__(self, sm=None, pm=None, can_sock=None): 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 # Setup sockets
self.pm = pm self.pm = pm

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

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

Loading…
Cancel
Save