On Thu, Jul 01, 2021 at 04:43:48PM +0200, Morten Brørup wrote: > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Bruce Richardson > > Sent: Thursday, 1 July 2021 11.35 > > > > 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> > > --- > > lib/eal/linux/eal.c | 5 ++--- > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c > > index ba19fc6347..1e05ba3847 100644 > > --- a/lib/eal/linux/eal.c > > +++ b/lib/eal/linux/eal.c > > @@ -838,9 +838,8 @@ eal_parse_args(int argc, char **argv) > > } > > } > > > > - /* create runtime data directory */ > > - if (internal_conf->no_shconf == 0 && > > - eal_create_runtime_dir() < 0) { > > + /* create runtime data directory. In no_shconf mode, skip any > > errors */ > > + if (eal_create_runtime_dir() < 0 && internal_conf->no_shconf == > > 0) { > > RTE_LOG(ERR, EAL, "Cannot create runtime directory\n"); > > ret = -1; > > goto out; > > When internal_conf->no_shconf == 1 and eal_create_runtime_dir() fails, DPDK > will run without telemetry. Shouldn't it then be logged that telemetry is > unavailable (and why it is unavailable)? > There will be an error printed from the telemetry library about the socket creation failing. However, it probably could do with being improved. I'll see about creating a separate patch for that, since EAL should not be required to know about what other libs may need a runtime dir or not.
/Bruce