tici: give loggerd rt priority (#21503)

* give loggerd rt priority

* assert

* little more

Co-authored-by: Comma Device <device@comma.ai>
pull/22007/head
Adeeb Shihadeh 2021-08-20 21:27:31 -07:00 committed by GitHub
parent 51ed2c6116
commit 7e2752c878
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 17 deletions

View File

@ -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);

View File

@ -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}")

View File

@ -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;

View File

@ -62,11 +62,11 @@ private:
SafeQueue<OMX_BUFFERHEADERTYPE *> free_in;
SafeQueue<OMX_BUFFERHEADERTYPE *> 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;
};

View File

@ -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