int s_accepted = accept(s->sock, NULL, NULL);
if (s_accepted < 0) {
snprintf(telemetry_log_error,
- sizeof(telemetry_log_error),
- "Error with accept, telemetry thread quitting\n");
+ sizeof(telemetry_log_error),
+ "Error with accept, telemetry thread quitting");
return NULL;
}
pthread_create(&th, NULL, s->fn, (void *)(uintptr_t)s_accepted);
return -1;
}
-static int __rte_unused /* will be used in future commit */
-telemetry_legacy_init(const char *runtime_dir)
+static int
+telemetry_legacy_init(const char *runtime_dir, rte_cpuset_t *cpuset)
{
pthread_t t_old;
if (v1_socket.sock < 0)
return -1;
pthread_create(&t_old, NULL, socket_listener, &v1_socket);
+ pthread_setaffinity_np(t_old, sizeof(*cpuset), cpuset);
return 0;
}
static int
-telemetry_v2_init(const char *runtime_dir)
+telemetry_v2_init(const char *runtime_dir, rte_cpuset_t *cpuset)
{
pthread_t t_new;
if (v2_socket.sock < 0)
return -1;
pthread_create(&t_new, NULL, socket_listener, &v2_socket);
+ pthread_setaffinity_np(t_new, sizeof(*cpuset), cpuset);
atexit(unlink_sockets);
return 0;
}
int32_t
-rte_telemetry_new_init(void)
+rte_telemetry_init(const char *runtime_dir, rte_cpuset_t *cpuset,
+ const char **err_str)
{
- const char *error_str;
- if (telemetry_v2_init(rte_eal_get_runtime_dir()) != 0) {
- error_str = telemetry_log_error;
- printf("Error initialising telemetry - %s", error_str);
+ if (telemetry_v2_init(runtime_dir, cpuset) != 0) {
+ *err_str = telemetry_log_error;
return -1;
}
+ if (telemetry_legacy_init(runtime_dir, cpuset) != 0) {
+ *err_str = telemetry_log_error;
+ }
return 0;
}