On Thu, Jul 28, 2022 at 09:26:16PM +0200, David Marchand wrote:
> On Thu, Jul 28, 2022 at 6:57 PM Bruce Richardson
> <bruce.richard...@intel.com> wrote:
> >
> > On Thu, Jul 28, 2022 at 05:26:35PM +0200, David Marchand wrote:
> > > Make rte_bus opaque for non internal users.
> > > This will make extending this object possible without breaking the ABI.
> > >
> > > Introduce a new driver header and move rte_bus definition and helpers.
> > > Update drivers and library to use the internal header.
> > >
> > > Some applications may have been dereferencing rte_bus objects, mark
> > > this object's accessors as stable.
> > >
> > > Signed-off-by: David Marchand <david.march...@redhat.com>
> > > ---
> > > Changes since RFC v2:
> > > - updated release notes,
> > > - marked accessors as stable,
> > >
> > > Changes since RFC v1:
> > > - update all existing users of the public header to use the internal one,
> > >
> >
> > Acked-by: Bruce Richardson <bruce.richard...@intel.com>
> >
> > One small comment below...
> >
> > > ---
> > >  app/test/test_devargs.c                  |   2 +-
> > <snip>
> > >  lib/pcapng/rte_pcapng.c                  |   2 +-
> > >  38 files changed, 343 insertions(+), 319 deletions(-)
> > >  create mode 100644 lib/eal/include/bus_driver.h
> > >
> > > diff --git a/app/test/test_devargs.c b/app/test/test_devargs.c
> > > index ac5bc34c18..0a4c34a1ad 100644
> > > --- a/app/test/test_devargs.c
> > > +++ b/app/test/test_devargs.c
> > > @@ -9,7 +9,7 @@
> > >  #include <rte_common.h>
> > >  #include <rte_devargs.h>
> > >  #include <rte_kvargs.h>
> > > -#include <rte_bus.h>
> > > +#include <bus_driver.h>
> > >  #include <rte_class.h>
> > >
> >
> > This seems a strange file to need to access bus internals. Maybe something
> > to investigate in future.
> 
> Yeah... I am not sure it is worth fixing.
> 
> This code dereferences a bus object to check the ring driver
> registered (by calling vdev_bus->parse()).
> We could make it possible to list the drivers (maybe per bus, or even 
> globally).
> Or we may expose something like bus_can_parse() / 
> rte_bus_find_by_device_name().
> 
> But I did not find applications needing this so I let the code as is.
> 
Agree it may not be worth fixing.

However, if we do look to fix, how about just dropping the runtime check
completely and just using a build-time one for the RTE_NET_RING macro. I
don't consider it valid for the tests to run with some of the built drivers
deleted. If it was enabled in the build, I think the tests are ok to assume
it is present at runtime.

/Bruce

Reply via email to