[Openframeworkwg] Some concerns about the new Fabric/IBverbs API

Christoph Lameter christoph at graphe.net
Mon Dec 9 06:56:01 PST 2013


The point of the standard API for different drivers is to have the same
name for functionality. Otherwise a change of providers would require
source code changes or some other tricks. The use of inlines of course
means that the code needs to refer to symbols that are particular for that
specific provider. Linking to another providers .o file should not succeed.



On Fri, Dec 6, 2013 at 6:27 PM, Jason Gunthorpe <
jgunthorpe at obsidianresearch.com> wrote:

> On Fri, Dec 06, 2013 at 04:10:08PM -0800, Christoph Lameter wrote:
>
> > Oh with dlopen you can load multiple implementation with the same
> function
> > names. The multiplex layer can build function vectors for these and
> provide
> > some sort of selection function for devices. Then we are back to the
> existing
> > overhead. The multiplex layer can supply many of the same functions that
> the
> > provider layer also offers and then route to the correct driver that it
> may
> > dynamically load.
>
> I've never messed enough with RTLD_LOCAL to know if that would work
> properly in all cases.. With that scheme all providers would define
> the same symbols..
>
> Though I think I'd prefer to have provider-specific symbol names so at
> least you get dynamic linker failures if things are setup wrong.
>
> Jason
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofiwg/attachments/20131209/3071dad0/attachment.html>


More information about the ofiwg mailing list