net/ice/base: update VSI handle to remaining VSI
[dpdk.git] / lib / librte_telemetry / telemetry.c
index e4b5e35..e7e3d86 100644 (file)
@@ -275,8 +275,8 @@ socket_listener(void *socket)
                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);
@@ -340,8 +340,8 @@ error:
        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;
 
@@ -363,12 +363,13 @@ telemetry_legacy_init(const char *runtime_dir)
        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;
 
@@ -390,19 +391,22 @@ telemetry_v2_init(const char *runtime_dir)
        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;
 }