eal: limit telemetry to primary processes
authorBruce Richardson <bruce.richardson@intel.com>
Thu, 14 Oct 2021 10:49:04 +0000 (11:49 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 14 Oct 2021 18:31:10 +0000 (20:31 +0200)
Telemetry interface should be exposed for primary processes only, since
secondary processes will conflict on socket creation, and since all
data in secondary process is generally available to primary. For
example, all device stats for ethdevs, cryptodevs, etc. will all be
common across processes.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ciara Power <ciara.power@intel.com>
Tested-by: Conor Walsh <conor.walsh@intel.com>
lib/eal/freebsd/eal.c
lib/eal/linux/eal.c

index fb73401..56a60f1 100644 (file)
@@ -950,7 +950,7 @@ rte_eal_init(int argc, char **argv)
                rte_eal_init_alert("Cannot clear runtime directory");
                return -1;
        }
-       if (!internal_conf->no_telemetry) {
+       if (rte_eal_process_type() == RTE_PROC_PRIMARY && !internal_conf->no_telemetry) {
                int tlog = rte_log_register_type_and_pick_level(
                                "lib.telemetry", RTE_LOG_WARNING);
                if (tlog < 0)
index 3577eae..0d0fc66 100644 (file)
@@ -1320,7 +1320,7 @@ rte_eal_init(int argc, char **argv)
                rte_eal_init_alert("Cannot clear runtime directory");
                return -1;
        }
-       if (!internal_conf->no_telemetry) {
+       if (rte_eal_process_type() == RTE_PROC_PRIMARY && !internal_conf->no_telemetry) {
                int tlog = rte_log_register_type_and_pick_level(
                                "lib.telemetry", RTE_LOG_WARNING);
                if (tlog < 0)