[v8,1/4] eal: limit telemetry to primary processes
Checks
Commit Message
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>
---
lib/eal/freebsd/eal.c | 2 +-
lib/eal/linux/eal.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Comments
> From: dev <dev-bounces@dpdk.org> On Behalf Of Bruce Richardson
> Sent: Tuesday 12 October 2021 17:39
> To: dev@dpdk.org
> Cc: Power, Ciara <ciara.power@intel.com>; David Marchand
> <david.marchand@redhat.com>; Burakov, Anatoly
> <anatoly.burakov@intel.com>; Kevin Traynor <ktraynor@redhat.com>;
> Richardson, Bruce <bruce.richardson@intel.com>
> Subject: [dpdk-dev] [PATCH v8 1/4] eal: limit telemetry to primary processes
>
> 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>
<snip>
@@ -946,7 +946,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)
@@ -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)