Re: CQ and RDMA READ/WRITE APIs

From: Bart Van Assche
Date: Tue May 17 2016 - 13:30:10 EST


On 05/16/2016 11:23 AM, Doug Ledford wrote:
In this particular case, the dual license is used by the OpenFabrics
Alliance. They strip the RDMA stack in the kernel down to just the RDMA
stack files and ship those separate from the rest of the kernel, along
with the necessary user space stuff, and put the entire compilation
under the same dual GPL/BSD license. That's what their OFED product is.

As I understand it, members of the OFA (Intel, Mellanox, Chelsio, etc.)
actually signed an agreement as part of their membership entry into OFA
that they would preserve that dual license when submitting code
upstream. This was originally intended to make sure that the stack as a
whole could be used upstream, in distros, on switches, etc. The idea
being that a unified stack that could be copied around would enhance
interoperability or something like that.

I can't speak to how actively used it is any more. I think maybe on
switches or some other dedicated devices. But, I was asked by the OFA
to try and preserve it.

In this particular case, Christoph wrote his code from scratch. I'm not
concerned with it. It was never dual licensed and need not be. But he
did submit patches that modified existing dual license drivers to use
his new code and removed their own implementation of the same thing in
the process. What used to be more or less functional drivers that could
be copied and used elsewhere will no longer be able to be copied in the
same way. I'm just waiting for Sagi Grimberg to speak for iSER and for
Bart van Assche to speak for SRP and let me know that they are OK with
the change. I think a patch set that will essentially change the
licensing nature of their code should carry their explicit approval of
the license change.

(+linux-rdma)

Hello Doug,

As far as I know SanDisk, a Western Digital Company, is fine with changing the license of the code under drivers/infiniband/ulp/srpt from dual licensed into GPL-only. However, if OFA members want that the entire RDMA core is dual licensed I think we will have to talk to Tejun:

$ PAGER= git grep EXPORT_SYMBOL_GPL drivers/infiniband/
drivers/infiniband/core/device.c:EXPORT_SYMBOL_GPL(ib_wq);

$ git show f06267104dd9112f11586830d22501d0e26245ea
commit f06267104dd9112f11586830d22501d0e26245ea
Author: Tejun Heo <tj@xxxxxxxxxx>
Date: Tue Oct 19 15:24:36 2010 +0000

RDMA: Update workqueue usage

[ ... ]
+struct workqueue_struct *ib_wq;
+EXPORT_SYMBOL_GPL(ib_wq);
[ ... ]

$ PAGER= git grep -lw ib_wq drivers/infiniband/
drivers/infiniband/core/cache.c
drivers/infiniband/core/device.c
drivers/infiniband/core/roce_gid_mgmt.c
drivers/infiniband/core/sa_query.c
drivers/infiniband/core/umem.c
drivers/infiniband/hw/qib/qib_iba7220.c
drivers/infiniband/hw/qib/qib_iba7322.c
drivers/infiniband/hw/qib/qib_init.c

Bart.