diff --git a/selfdrive/camerad/main.cc b/selfdrive/camerad/main.cc index b4cf162d2c..49ec3399b7 100644 --- a/selfdrive/camerad/main.cc +++ b/selfdrive/camerad/main.cc @@ -44,12 +44,11 @@ void party(cl_device_id device_id, cl_context context) { #endif int main(int argc, char *argv[]) { - set_realtime_priority(53); - if (Hardware::EON()) { - set_core_affinity(2); - } else if (Hardware::TICI()) { - set_core_affinity(6); - } + int err; + err = set_realtime_priority(53); + assert(err == 0); + err = set_core_affinity(Hardware::TICI() ? 6 : 2); + assert(err == 0); cl_device_id device_id = cl_get_device_id(CL_DEVICE_TYPE_DEFAULT); diff --git a/selfdrive/debug/check_timings.py b/selfdrive/debug/check_timings.py index 000a73b781..a20cc9b5af 100755 --- a/selfdrive/debug/check_timings.py +++ b/selfdrive/debug/check_timings.py @@ -12,13 +12,12 @@ ts = defaultdict(lambda: deque(maxlen=100)) if __name__ == "__main__": while True: + time.sleep(1) print() for s, sock in socks.items(): msgs = messaging.drain_sock(sock) for m in msgs: ts[s].append(m.logMonoTime / 1e6) - if len(ts[s]) == ts[s].maxlen: - d = np.diff(ts[s]) - print(f"{s:17} {np.mean(d):.2f} {np.std(d):.2f} {np.max(d):.2f} {np.min(d):.2f}") - time.sleep(1) + d = np.diff(ts[s]) + print(f"{s:17} {np.mean(d):.2f} {np.std(d):.2f} {np.max(d):.2f} {np.min(d):.2f}") diff --git a/selfdrive/loggerd/loggerd.cc b/selfdrive/loggerd/loggerd.cc index b2ecc4bc65..423f32f3b7 100644 --- a/selfdrive/loggerd/loggerd.cc +++ b/selfdrive/loggerd/loggerd.cc @@ -115,6 +115,14 @@ void encoder_thread(int cam_idx) { const LogCameraInfo &cam_info = cameras_logged[cam_idx]; set_thread_name(cam_info.filename); + if (Hardware::TICI()) { + int err; + err = set_realtime_priority(1); + assert(err == 0); + err = set_core_affinity(3); + assert(err == 0); + } + int cnt = 0, cur_seg = -1; int encode_idx = 0; LoggerHandle *lh = NULL; diff --git a/selfdrive/loggerd/omx_encoder.h b/selfdrive/loggerd/omx_encoder.h index d7273872a5..7b87c90894 100644 --- a/selfdrive/loggerd/omx_encoder.h +++ b/selfdrive/loggerd/omx_encoder.h @@ -62,11 +62,11 @@ private: SafeQueue free_in; SafeQueue done_out; + // for qcams AVFormatContext *ofmt_ctx; AVCodecContext *codec_ctx; AVStream *out_stream; bool remuxing; - bool downscale; uint8_t *y_ptr2, *u_ptr2, *v_ptr2; }; diff --git a/selfdrive/modeld/modeld.cc b/selfdrive/modeld/modeld.cc index 460e33c561..c2e0474fef 100644 --- a/selfdrive/modeld/modeld.cc +++ b/selfdrive/modeld/modeld.cc @@ -131,13 +131,12 @@ void run_model(ModelState &model, VisionIpcClient &vipc_client) { } int main(int argc, char **argv) { - set_realtime_priority(54); + int err; + err = set_realtime_priority(54); + assert(err == 0); + err = set_core_affinity(Hardware::EON() ? 2 : 7); + assert(err == 0); - if (Hardware::EON()) { - set_core_affinity(2); - } else if (Hardware::TICI()) { - set_core_affinity(7); - } bool wide_camera = Hardware::TICI() ? Params().getBool("EnableWideCamera") : false; // start calibration thread