[dpdk-dev] [PATCH v2 1/2] eal: create runtime dir even when shared data is not used

Bruce Richardson bruce.richardson at intel.com
Mon Jul 5 16:39:44 CEST 2021


On Mon, Jul 05, 2021 at 04:11:54PM +0200, David Marchand wrote:
> On Fri, Jul 2, 2021 at 2:56 PM Bruce Richardson
> <bruce.richardson at intel.com> 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.richardson at intel.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) {
> > +               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
> >
> 
> Should this change be applied to FreeBSD too?
> 
> Reviewed-by: David Marchand <david.marchand at redhat.com>
> 
Yes it should. :-( For some reason I assumed that this would not be relevant
for FreeBSD, but I obviously should have double-checked the code!


More information about the dev mailing list