On Fri, Jul 02, 2021 at 01:55:53PM +0100, Bruce Richardson wrote: > When multi-process is not wanted and DPDK is run with the "no-shconf" > flag, the telemetry library still needs a runtime directory to place the > unix socket for telemetry connections. Therefore, rather than not > creating the directory when this flag is set, we can change the code to > attempt the creation anyway, but not error out if it fails. If it > succeeds, then telemetry will be available, but if it fails, the rest of > DPDK will run without telemetry. This ensures that the "in-memory" flag > will allow DPDK to run even if the whole filesystem is read-only, for > example. > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > --- Acked-By: Tyler Retzlaff <roret...@linux.microsoft.com>
> V2: add a warning for the no-shconf case, rather than skipping it silently. > > lib/eal/linux/eal.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c > index ba19fc6347..ccb7535619 100644 > --- a/lib/eal/linux/eal.c > +++ b/lib/eal/linux/eal.c > @@ -838,12 +838,14 @@ eal_parse_args(int argc, char **argv) > } > } > > - /* create runtime data directory */ > - if (internal_conf->no_shconf == 0 && > - eal_create_runtime_dir() < 0) { > - RTE_LOG(ERR, EAL, "Cannot create runtime directory\n"); > - ret = -1; > - goto out; > + /* create runtime data directory. In no_shconf mode, skip any errors */ > + if (eal_create_runtime_dir() < 0) { nit: suggest explicit comparison against -1 instead of < 0 > + if (internal_conf->no_shconf == 0) { > + RTE_LOG(ERR, EAL, "Cannot create runtime directory\n"); > + ret = -1; > + goto out; > + } else > + RTE_LOG(WARNING, EAL, "No DPDK runtime directory > created\n"); > } > > if (eal_adjust_config(internal_conf) != 0) { > -- > 2.30.2