[openib-general] ehca weirdness??

Troy Benjegerdes troy at scl.ameslab.gov
Thu Mar 23 16:45:09 PST 2006


On Thu, Mar 23, 2006 at 01:35:50PM -0800, Roland Dreier wrote:
>     Troy> Okay, this is hokey. Both drivers should be able to
>     Troy> coexist. Here is a full strace with the libmthca.so removed,
>     Troy> which still doens't seem to work right.
> 
> Yes, the drivers should be able to coexist.  I just meant that
> libmthca was the one looking for the "vendor" attribute -- it won't
> find it, and (correctly) conclude that it can't drive that device.
> 
> I'm not sure why libehca doesn't think it owns the device.  I would
> suggest putting some printf() calls in the openib_driver_init()
> function in ehca_uinit.c to make sure it's getting called, and figure
> out where it's bailing out if it is.

We should probably check the result of dlopen..

libibverbs/src$ svn diff
Index: init.c
===================================================================
--- init.c      (revision 5988)
+++ init.c      (working copy)
@@ -62,10 +62,16 @@
        void *dlhandle;
        ibv_driver_init_func init_func;
        struct ibv_driver *driver;
+       char * err;

+       printf("init.c: load_driver( %s )\n", so_path);
+
        dlhandle = dlopen(so_path, RTLD_NOW);
-       if (!dlhandle)
+       if (!dlhandle){
+               err = dlerror();
+               printf("load_driver: %s\n", err);
                return;
+       }

        dlerror();
        init_func = dlsym(dlhandle, "openib_driver_init");



p5l3:/usr/src/openib-src/userspace/libibverbs/examples# ibv_devices
init.c: load_driver( /usr/lib/infiniband/libehca.so )
load_driver: /usr/lib/infiniband/libehca.so: undefined symbol:
ipz_qeit_reset
init.c: load_driver( (null) )
init_drivers
ibdev_name: ehca0
libibverbs: Warning: no userspace device-specific driver found for
uverbs0
        driver search path: /usr/lib/infiniband
    device                 node GUID
    ------              ----------------




More information about the general mailing list