Re: [PATCH] dynamically link libibverbs and librdma

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Pete Wyckoff wrote:
I like the idea, but the implementation is quite ugly.  Is there any better way to do it?  What other projects do dynamic linking to IB like this?
I am aware of at least one commercial MPI implementation that uses this method. In the open-MPI project they took a different approach of having a shared object that uses IB through the verbs api, this object is linked with libibverbs and the mpi core does dlopen to the object if the user wants to use verbs, but bottom the user can't --install-- openmpi if they don't have the IB stack installed on the machine, that is if you do rpm -qR on the mpi package you will see that it requires libibverbs, and this is the exact problem we wanted to solve here...
+typedef void (*ibv_ack_cq_events_t)(struct ibv_cq *cq, unsigned int nevents);

This particularly feels wrong.  We have to duplicate the function declarations from verbs.h inside tgt?

As far as I know, you can't avoid it.

What about compiling libtgt-rdma.so using existing verbs, then figure out if you can dlopen() that successfully.  Maybe if you say RTLD_NOW and libverbs.so is not present, the dlopen will fail and you can fall back to non-IB mode.

This is possible, that I still don't think your suggestion will relax the package dependency between tgt to the verbs.

Or


--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux SCSI]     [Linux RAID]     [Linux Clusters]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]

  Powered by Linux