* RE: rdma-core, cmake/ninja question
From: Steve Wise @ 2016-09-22 19:34 UTC (permalink / raw)
To: 'Jason Gunthorpe'; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20160922192932.GA25659-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> On Thu, Sep 22, 2016 at 01:43:36PM -0500, Steve Wise wrote:
>
> > > Apply this patch:
> > >
> > > https://github.com/jgunthorpe/rdma-
> > > plumbing/commit/64ed4fd30a2157bdaf0a8f7f1b04d2dad02c1b8f
> > >
> > > It hardwires the search path into libverbs and libverbs will look into
> > > the place it was installed before searching the system library
> > > path. That will eliminate the problem you mentioned above.
> > >
> > > Further, after that patch is applied you can do a rough imitation of
> > > 'run-in-place' like this:
> > >
> > > $ cmake .. -DVERBS_PROVIDER_DIR:PATH=`pwd`/lib -
> > > DSYSCONF_INSTALL_DIR:PATH=/etc
> > >
> >
> > And how do I build this after the cmake?
>
> Sorry, you always need the -GNinja, I was just being brief
>
> I also mistyped the ETC name.
>
> I tested this:
>
> $ mkdir build ; cd build
> $ cmake .. -GNinja -DVERBS_PROVIDER_DIR:PATH=`pwd`/lib -
> DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc
> $ ninja
> $ strace bin/ibv_devinfo 2>&1 | grep -i rdmav2
> open("/tmp/rdma-core/build/lib/libmlx4-rdmav2.so", O_RDONLY|O_CLOEXEC) = 3
>
> Note LD_LIBRARY_PATH is needed to run things from outside build/bin/
>
> I have some thoughts to make this simpler, call it a proof of concept for
> run-from-build ..
>
No worries. I'm just thick headed. :) Its working for me. I've made a change
to libcxgb4 and can test by running in the build tree. I compile with and
without my change and see that the correct libcxgb4 is being used. Ship it! :)
So if I have a libcxgb4 change to submit, I should submit it against rdma-core,
ja?
Thanks Jason!
Steve.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* [PATCH] libcxgb4: fix firmware version string
From: Steve Wise @ 2016-09-22 19:29 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA, leon-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
c4iw_query_device() was incorrectly unpacking
the 64b version number from the driver. This resulted
in ibv_devinfo showing garbage fw verion strings.
Signed-off-by: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
---
Testing out the new process. :)
---
libcxgb4/src/verbs.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/libcxgb4/src/verbs.c b/libcxgb4/src/verbs.c
index 3d46f0a..aed547d 100644
--- a/libcxgb4/src/verbs.c
+++ b/libcxgb4/src/verbs.c
@@ -52,7 +52,7 @@ int c4iw_query_device(struct ibv_context *context, struct ibv_device_attr *attr)
{
struct ibv_query_device cmd;
uint64_t raw_fw_ver;
- unsigned major, minor, sub_minor;
+ u8 major, minor, sub_minor, build;
int ret;
ret = ibv_cmd_query_device(context, attr, &raw_fw_ver, &cmd,
@@ -60,12 +60,13 @@ int c4iw_query_device(struct ibv_context *context, struct ibv_device_attr *attr)
if (ret)
return ret;
- major = (raw_fw_ver >> 32) & 0xffff;
- minor = (raw_fw_ver >> 16) & 0xffff;
- sub_minor = raw_fw_ver & 0xffff;
+ major = (raw_fw_ver >> 24) & 0xff;
+ minor = (raw_fw_ver >> 16) & 0xff;
+ sub_minor = (raw_fw_ver >> 8) & 0xff;
+ build = raw_fw_ver & 0xff;
snprintf(attr->fw_ver, sizeof attr->fw_ver,
- "%d.%d.%d", major, minor, sub_minor);
+ "%d.%d.%d.%d", major, minor, sub_minor, build);
return 0;
}
--
2.7.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* Re: rdma-core, cmake/ninja question
From: Jason Gunthorpe @ 2016-09-22 19:29 UTC (permalink / raw)
To: Steve Wise; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <019201d21501$3a191a80$ae4b4f80$@opengridcomputing.com>
On Thu, Sep 22, 2016 at 01:43:36PM -0500, Steve Wise wrote:
> > Apply this patch:
> >
> > https://github.com/jgunthorpe/rdma-
> > plumbing/commit/64ed4fd30a2157bdaf0a8f7f1b04d2dad02c1b8f
> >
> > It hardwires the search path into libverbs and libverbs will look into
> > the place it was installed before searching the system library
> > path. That will eliminate the problem you mentioned above.
> >
> > Further, after that patch is applied you can do a rough imitation of
> > 'run-in-place' like this:
> >
> > $ cmake .. -DVERBS_PROVIDER_DIR:PATH=`pwd`/lib -
> > DSYSCONF_INSTALL_DIR:PATH=/etc
> >
>
> And how do I build this after the cmake?
Sorry, you always need the -GNinja, I was just being brief
I also mistyped the ETC name.
I tested this:
$ mkdir build ; cd build
$ cmake .. -GNinja -DVERBS_PROVIDER_DIR:PATH=`pwd`/lib -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc
$ ninja
$ strace bin/ibv_devinfo 2>&1 | grep -i rdmav2
open("/tmp/rdma-core/build/lib/libmlx4-rdmav2.so", O_RDONLY|O_CLOEXEC) = 3
Note LD_LIBRARY_PATH is needed to run things from outside build/bin/
I have some thoughts to make this simpler, call it a proof of concept for
run-from-build ..
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* RE: rdma-core, cmake/ninja question
From: Steve Wise @ 2016-09-22 18:43 UTC (permalink / raw)
To: 'Jason Gunthorpe'; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20160922163143.GC6994-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> > So I have a dev system setup with everything installed from the distro in
/usr.
> > I have my rdma-core git tree. I change libcxgb4 to fix a bug. I want to
test
> > it. I install it to /usr/local and add /etc/ld.so.conf.d/usrlocal.conf.
But
> > that still doesn't work because ldconfig still finds libcxgb4 in /usr/lib64
> > first...
>
> Apply this patch:
>
> https://github.com/jgunthorpe/rdma-
> plumbing/commit/64ed4fd30a2157bdaf0a8f7f1b04d2dad02c1b8f
>
> It hardwires the search path into libverbs and libverbs will look into
> the place it was installed before searching the system library
> path. That will eliminate the problem you mentioned above.
>
> Further, after that patch is applied you can do a rough imitation of
> 'run-in-place' like this:
>
> $ cmake .. -DVERBS_PROVIDER_DIR:PATH=`pwd`/lib -
> DSYSCONF_INSTALL_DIR:PATH=/etc
>
And how do I build this after the cmake?
> (untested) That hardwires the build directory into libibverbs, so it
> will try to load all drivers from there first.
>
> Then use
>
> $ export LD_LIBRARY_PATH=`pwd`/lib
>
> And all verbs using programs started from that shell will use the full
> new library set and the new providers without having to do make
> install at all.
>
> I plan to automate this basic approach for 'run in place', please let
> me know if it works for you and makes sense.
>
> Jason
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 17/23] umad: Replace .nl with .sp in man pages
From: Jason Gunthorpe @ 2016-09-22 18:10 UTC (permalink / raw)
To: Hal Rosenstock; +Cc: Leon Romanovsky, linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <eccf516a-b193-5f35-4b78-02c6c7b2161c-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
On Thu, Sep 22, 2016 at 09:50:55AM -0400, Hal Rosenstock wrote:
> On 9/22/2016 9:25 AM, Leon Romanovsky wrote:
> I'm tracking changes in current repo until things have fully switched
> over. I thought that was what was said to do. Previous changes that
> Jason pushed were also integrated there. So yes, there's some
> duplication of effort until the old repos can safely be abandoned.
I took the prior changes you merged via rebase my tree on yours, that
helped clarify what repos were still active or not. Thanks for
responding.
We have stated no more rebasing, so future patches will be applied
directly to the rdma-core tree hosted in the shared github.
It is enough now to just ack the patches, as with the kernel.
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* RE: Unreliable Connection (IBV_QPT_UC) and rdma_accept()
From: Hefty, Sean @ 2016-09-22 17:45 UTC (permalink / raw)
To: Dong Young Yoon,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <13A5FB85-6677-4641-85F1-0670F62F17E4-63aXycvo3TyHXe+LvDLADg@public.gmane.org>
> I have been trying to implement simple client/server system that uses
> UC instead of RC in order to test the performance of RDMA Writes under
> UC against RDMA Reads under RC. When I switch from RC to UC,
> rdma_accept() at the server fails with “Invalid Argument (EINVAL)”. I
> have tried various values for queue pair attributes and also tried
> RDMA_PS_IB, RDMA_PS_UDP for rdma_create_id(), but nothing has worked
> for me. The problem seems to be very similar to what had been discussed
> in this thread last year: http://www.spinics.net/lists/linux-
> rdma/msg23071.html, yet I could not find the solution to the problem in
> the thread.
> Has there been any development regarding UC since then? I am more than
> happy to provide more information that would help in resolving this
> issue.
I believe the solution is to use port space RDMA_PS_IB, with qp_type = UC.
^ permalink raw reply
* Re: [RFC] IB/mad: Eliminate redundant SM class version defines for OPA
From: ira.weiny @ 2016-09-22 17:41 UTC (permalink / raw)
To: Hal Rosenstock; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <4810d736-b0c3-bf73-70c1-975b4af850a3-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
On Wed, Sep 21, 2016 at 10:41:57AM -0400, Hal Rosenstock wrote:
>
> and rename class version define to SM rather than SMP or SMI
>
> Signed-off-by: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Seems like a good clean up. I did some minor testing as well.
Reviewed-by: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> ---
> diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c
> index 2d49228..17ba07d 100644
> --- a/drivers/infiniband/core/mad.c
> +++ b/drivers/infiniband/core/mad.c
> @@ -769,7 +769,7 @@ static int handle_outgoing_dr_smp(struct ib_mad_agent_private *mad_agent_priv,
> * If we are at the start of the LID routed part, don't update the
> * hop_ptr or hop_cnt. See section 14.2.2, Vol 1 IB spec.
> */
> - if (opa && smp->class_version == OPA_SMP_CLASS_VERSION) {
> + if (opa && smp->class_version == OPA_SM_CLASS_VERSION) {
> u32 opa_drslid;
>
> if ((opa_get_smp_direction(opa_smp)
> @@ -2167,7 +2167,7 @@ handle_smi(struct ib_mad_port_private *port_priv,
> struct ib_mad_hdr *mad_hdr = (struct ib_mad_hdr *)recv->mad;
>
> if (opa && mad_hdr->base_version == OPA_MGMT_BASE_VERSION &&
> - mad_hdr->class_version == OPA_SMI_CLASS_VERSION)
> + mad_hdr->class_version == OPA_SM_CLASS_VERSION)
> return handle_opa_smi(port_priv, qp_info, wc, port_num, recv,
> response);
>
> diff --git a/drivers/infiniband/hw/hfi1/mad.c b/drivers/infiniband/hw/hfi1/mad.c
> index 7ffc14f..484ed60 100644
> --- a/drivers/infiniband/hw/hfi1/mad.c
> +++ b/drivers/infiniband/hw/hfi1/mad.c
> @@ -128,7 +128,7 @@ static void send_trap(struct hfi1_ibport *ibp, void *data, unsigned len)
> smp = send_buf->mad;
> smp->base_version = OPA_MGMT_BASE_VERSION;
> smp->mgmt_class = IB_MGMT_CLASS_SUBN_LID_ROUTED;
> - smp->class_version = OPA_SMI_CLASS_VERSION;
> + smp->class_version = OPA_SM_CLASS_VERSION;
> smp->method = IB_MGMT_METHOD_TRAP;
> ibp->rvp.tid++;
> smp->tid = cpu_to_be64(ibp->rvp.tid);
> @@ -343,7 +343,7 @@ static int __subn_get_opa_nodeinfo(struct opa_smp *smp, u32 am, u8 *data,
>
> ni->port_guid = cpu_to_be64(dd->pport[pidx].guid);
> ni->base_version = OPA_MGMT_BASE_VERSION;
> - ni->class_version = OPA_SMI_CLASS_VERSION;
> + ni->class_version = OPA_SM_CLASS_VERSION;
> ni->node_type = 1; /* channel adapter */
> ni->num_ports = ibdev->phys_port_cnt;
> /* This is already in network order */
> @@ -379,7 +379,7 @@ static int subn_get_nodeinfo(struct ib_smp *smp, struct ib_device *ibdev,
> nip->port_guid = cpu_to_be64(dd->pport[pidx].guid);
>
> nip->base_version = OPA_MGMT_BASE_VERSION;
> - nip->class_version = OPA_SMI_CLASS_VERSION;
> + nip->class_version = OPA_SM_CLASS_VERSION;
> nip->node_type = 1; /* channel adapter */
> nip->num_ports = ibdev->phys_port_cnt;
> /* This is already in network order */
> @@ -2309,7 +2309,7 @@ static int pma_get_opa_classportinfo(struct opa_pma_mad *pmp,
> pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD;
>
> p->base_version = OPA_MGMT_BASE_VERSION;
> - p->class_version = OPA_SMI_CLASS_VERSION;
> + p->class_version = OPA_SM_CLASS_VERSION;
> /*
> * Expected response time is 4.096 usec. * 2^18 == 1.073741824 sec.
> */
> @@ -4029,7 +4029,7 @@ static int process_subn_opa(struct ib_device *ibdev, int mad_flags,
>
> am = be32_to_cpu(smp->attr_mod);
> attr_id = smp->attr_id;
> - if (smp->class_version != OPA_SMI_CLASS_VERSION) {
> + if (smp->class_version != OPA_SM_CLASS_VERSION) {
> smp->status |= IB_SMP_UNSUP_VERSION;
> ret = reply((struct ib_mad_hdr *)smp);
> return ret;
> @@ -4239,7 +4239,7 @@ static int process_perf_opa(struct ib_device *ibdev, u8 port,
>
> *out_mad = *in_mad;
>
> - if (pmp->mad_hdr.class_version != OPA_SMI_CLASS_VERSION) {
> + if (pmp->mad_hdr.class_version != OPA_SM_CLASS_VERSION) {
> pmp->mad_hdr.status |= IB_SMP_UNSUP_VERSION;
> return reply((struct ib_mad_hdr *)pmp);
> }
> diff --git a/include/rdma/ib_mad.h b/include/rdma/ib_mad.h
> index c8a773f..981214b 100644
> --- a/include/rdma/ib_mad.h
> +++ b/include/rdma/ib_mad.h
> @@ -46,7 +46,7 @@
> #define IB_MGMT_BASE_VERSION 1
> #define OPA_MGMT_BASE_VERSION 0x80
>
> -#define OPA_SMP_CLASS_VERSION 0x80
> +#define OPA_SM_CLASS_VERSION 0x80
>
> /* Management classes */
> #define IB_MGMT_CLASS_SUBN_LID_ROUTED 0x01
> diff --git a/include/rdma/opa_smi.h b/include/rdma/opa_smi.h
> index 4a529ef..f789611 100644
> --- a/include/rdma/opa_smi.h
> +++ b/include/rdma/opa_smi.h
> @@ -44,8 +44,6 @@
> #define OPA_MAX_SLS 32
> #define OPA_MAX_SCS 32
>
> -#define OPA_SMI_CLASS_VERSION 0x80
> -
> #define OPA_LID_PERMISSIVE cpu_to_be32(0xFFFFFFFF)
>
> struct opa_smp {
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: rdma-core, cmake/ninja question
From: Jason Gunthorpe @ 2016-09-22 16:31 UTC (permalink / raw)
To: Steve Wise; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <014501d214ed$6e4472f0$4acd58d0$@opengridcomputing.com>
On Thu, Sep 22, 2016 at 11:21:53AM -0500, Steve Wise wrote:
> >
> > I recommend *against* running 'make install' to /usr. This is a big
> > package now, it is hard to unwind it once it installs over your
> > system. I really should finish the run in place patch :|
> >
> > If you do this:
> >
> > $ echo /usr/local/lib64/ > /etc/ld.so.conf.d/usrlocal.conf && ldconfig
> >
> > Then you can install to /usr/local/ and things will work as you
> > expect. Note, this depends on a verbs patch that is still only in my
> > preview tree.
>
> So I have a dev system setup with everything installed from the distro in /usr.
> I have my rdma-core git tree. I change libcxgb4 to fix a bug. I want to test
> it. I install it to /usr/local and add /etc/ld.so.conf.d/usrlocal.conf. But
> that still doesn't work because ldconfig still finds libcxgb4 in /usr/lib64
> first...
Apply this patch:
https://github.com/jgunthorpe/rdma-plumbing/commit/64ed4fd30a2157bdaf0a8f7f1b04d2dad02c1b8f
It hardwires the search path into libverbs and libverbs will look into
the place it was installed before searching the system library
path. That will eliminate the problem you mentioned above.
Further, after that patch is applied you can do a rough imitation of
'run-in-place' like this:
$ cmake .. -DVERBS_PROVIDER_DIR:PATH=`pwd`/lib -DSYSCONF_INSTALL_DIR:PATH=/etc
(untested) That hardwires the build directory into libibverbs, so it
will try to load all drivers from there first.
Then use
$ export LD_LIBRARY_PATH=`pwd`/lib
And all verbs using programs started from that shell will use the full
new library set and the new providers without having to do make
install at all.
I plan to automate this basic approach for 'run in place', please let
me know if it works for you and makes sense.
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* RE: rdma-core, cmake/ninja question
From: Steve Wise @ 2016-09-22 16:23 UTC (permalink / raw)
To: 'Jason Gunthorpe'; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <014601d214ed$6e4a8d70$4adfa850$@opengridcomputing.com>
> > I recommend *against* running 'make install' to /usr. This is a big
> > package now, it is hard to unwind it once it installs over your
> > system. I really should finish the run in place patch :|
> >
> > If you do this:
> >
> > $ echo /usr/local/lib64/ > /etc/ld.so.conf.d/usrlocal.conf && ldconfig
> >
> > Then you can install to /usr/local/ and things will work as you
> > expect. Note, this depends on a verbs patch that is still only in my
> > preview tree.
>
> So I have a dev system setup with everything installed from the distro in
> /usr. I have my rdma-core git tree. I change libcxgb4 to fix a bug. I
> want to test it. I install it to /usr/local and add
> /etc/ld.so.conf.d/usrlocal.conf. But that still doesn't work because
> ldconfig still finds libcxgb4 in /usr/lib64 first...
>
> How can I force ldconfig to look in /usr/local/lib64 first?
Actually, I just adjusted the search order with LD_LIBRARY_PATH and got what I
needed.
Thanks!
Steve.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* RE: rdma-core, cmake/ninja question
From: Steve Wise @ 2016-09-22 16:21 UTC (permalink / raw)
To: 'Jason Gunthorpe'; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20160922154814.GB15212-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
>
> I recommend *against* running 'make install' to /usr. This is a big
> package now, it is hard to unwind it once it installs over your
> system. I really should finish the run in place patch :|
>
> If you do this:
>
> $ echo /usr/local/lib64/ > /etc/ld.so.conf.d/usrlocal.conf && ldconfig
>
> Then you can install to /usr/local/ and things will work as you
> expect. Note, this depends on a verbs patch that is still only in my
> preview tree.
So I have a dev system setup with everything installed from the distro in /usr.
I have my rdma-core git tree. I change libcxgb4 to fix a bug. I want to test
it. I install it to /usr/local and add /etc/ld.so.conf.d/usrlocal.conf. But
that still doesn't work because ldconfig still finds libcxgb4 in /usr/lib64
first...
How can I force ldconfig to look in /usr/local/lib64 first?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH rdma-next V2 0/9] Export vendors specific ABIs
From: Leon Romanovsky @ 2016-09-22 16:09 UTC (permalink / raw)
To: Christoph Hellwig
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA,
linux-rdma-u79uwXL29TY76Z2rM5mHXA, Jason Gunthorpe,
Laurence Oberman
In-Reply-To: <20160922144716.GA10032-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 800 bytes --]
On Thu, Sep 22, 2016 at 07:47:16AM -0700, Christoph Hellwig wrote:
> Hi Leon,
>
> this series look good to me:
>
> Acked-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
Thanks, I'm going to pick up your old UAPI redesign series and will
start from there.
>
> Although I would have removed patch 8
I'm not sure about it, but anyway it is separate patch which can be
easily dropped by Doug when he will apply it.
> and add the Kconfig changes to
> each individual driver change instead.
I want logically separate move part and export part of this patch
series.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* RE: [PATCH 09/23] verbs: Fix incorrect type of len
From: Hefty, Sean @ 2016-09-22 16:02 UTC (permalink / raw)
To: Jason Gunthorpe,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <1474495729-17604-10-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> gcc remarks:
>
> ../librdmacm/examples/udpong.c:301:11: warning: comparison of unsigned
> expression < 0 is always false [-Wtype-limits]
> if (len < 0)
>
> len is set by:
> len = svr_recv(&msg, sizeof msg, &addr, &addrlen);
>
> And svr_recv returns:
>
> static ssize_t svr_recv(struct message *msg, size_t size,
>
> So clearly len is the wrong type, and the error test does
> not work.
>
> Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Acked-by: Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: rdma-core, cmake/ninja question
From: Jason Gunthorpe @ 2016-09-22 15:48 UTC (permalink / raw)
To: Steve Wise; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <00cc01d214e6$e4cb2d80$ae618880$@opengridcomputing.com>
On Thu, Sep 22, 2016 at 10:35:06AM -0500, Steve Wise wrote:
> Hey Jason, newb question:
>
> How do I force the rdma-core to build with /usr as the install prefix, /etc as
> the config dir, and /usr/lib64 as the lib dir? It seems to default to
> /usr/local..
Yes, that is the GNU standard - it is what configure did.
The equivilant to configure --prefix is:
-DCMAKE_INSTALL_PREFIX=/usr
You often also need.
-DCMAKE_INSTALL_SYSCONFDIR=/etc
There are many paths that are configurable, each distro sets them as
appropriate via the packaging scripts. For instance this is what RPM
tells cmake to do on centos6:
/usr/bin/cmake -DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_INSTALL_PREFIX:PATH=/usr
-DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64
-DINCLUDE_INSTALL_DIR:PATH=/usr/include
-DLIB_INSTALL_DIR:PATH=/usr/lib64
-DSYSCONF_INSTALL_DIR:PATH=/etc
-DSHARE_INSTALL_PREFIX:PATH=/usr/share
-DLIB_SUFFIX=64
-DCMAKE_SKIP_RPATH:BOOL=ON
-DBUILD_SHARED_LIBS:BOOL=ON
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_BINDIR:PATH=/usr/bin
-DCMAKE_INSTALL_SBINDIR:PATH=/usr/sbin
-DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64
-DCMAKE_INSTALL_LIBEXECDIR:PATH=/usr/libexec
-DCMAKE_INSTALL_LOCALSTATEDIR:PATH=/var
-DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=/var/lib
-DCMAKE_INSTALL_INCLUDEDIR:PATH=/usr/include
-DCMAKE_INSTALL_INFODIR:PATH=/usr/share/info
-DCMAKE_INSTALL_MANDIR:PATH=/usr/share/man
-DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc
-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=/tmp/
-DCMAKE_INSTALL_INITDDIR:PATH=/etc/rc.d/init.d
Each distro is a little different. This is all the same stuff as
configure, just different names..
I recommend *against* running 'make install' to /usr. This is a big
package now, it is hard to unwind it once it installs over your
system. I really should finish the run in place patch :|
If you do this:
$ echo /usr/local/lib64/ > /etc/ld.so.conf.d/usrlocal.conf && ldconfig
Then you can install to /usr/local/ and things will work as you
expect. Note, this depends on a verbs patch that is still only in my
preview tree.
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* rdma-core, cmake/ninja question
From: Steve Wise @ 2016-09-22 15:35 UTC (permalink / raw)
To: 'Jason Gunthorpe'; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Hey Jason, newb question:
How do I force the rdma-core to build with /usr as the install prefix, /etc as
the config dir, and /usr/lib64 as the lib dir? It seems to default to
/usr/local..
Thanks!
Steve.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 04/23] mlx5: Add cmake options to replace --with-mlx5_debug/mw_debug
From: Jason Gunthorpe @ 2016-09-22 15:29 UTC (permalink / raw)
To: Yishai Hadas; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Yishai Hadas
In-Reply-To: <6249c5da-7ff1-6727-9c5f-2315054bcf5d-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
> Need to consider whether there are other symbols in the original
> repositories that require similar patch. (e.g. valgrind, resolve-neigh,
> etc.)
Those two are taken care of already.
However, I'm of the opinion we should drop !resolve-neigh and nl1 as a
compile time option.
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 04/23] mlx5: Add cmake options to replace --with-mlx5_debug/mw_debug
From: Yishai Hadas @ 2016-09-22 15:27 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Yishai Hadas
In-Reply-To: <1474495729-17604-5-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
On 9/22/2016 1:08 AM, Jason Gunthorpe wrote:
> Simply enable -D flags when building.
>
> Use as:
> $ cmake -DMLX5_DEBUG=TRUE -DMLX5_MW_DEBUG=TRUE
The patch works fine for those symbols, thanks.
Need to consider whether there are other symbols in the original
repositories that require similar patch. (e.g. valgrind, resolve-neigh,
etc.)
> Reported-by: Yishai Hadas <yishaih-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
> Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> ---
> libmlx5/src/CMakeLists.txt | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/libmlx5/src/CMakeLists.txt b/libmlx5/src/CMakeLists.txt
> index a34a8063eeb2..44df83b47d96 100644
> --- a/libmlx5/src/CMakeLists.txt
> +++ b/libmlx5/src/CMakeLists.txt
> @@ -1,3 +1,15 @@
> +set(MLX5_DEBUG "FALSE" CACHE BOOL
> + "Enable expensive runtime logging options for the mlx5 verbs provider")
> +if (MLX5_DEBUG)
> + add_definitions("-DMLX5_DEBUG")
> +endif()
> +
> +set(MLX5_MW_DEBUG "FALSE" CACHE BOOL
> + "Enable extra validation of memory windows for the mlx5 verbs provider")
> +if (MLX5_MW_DEBUG)
> + add_definitions("-DMW_DEBUG")
> +endif()
> +
> rdma_provider(mlx5
> buf.c
> cq.c
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* RE: [PATCH v3 0/9] SELinux support for Infiniband RDMA
From: Liran Liss @ 2016-09-22 15:04 UTC (permalink / raw)
To: ira.weiny, Jason Gunthorpe
Cc: chrisw-69jw2NvuJkxg9hUCZPvPmw@public.gmane.org, Leon Romanovsky,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-security-module-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
selinux-+05T5uksL2qpZYMLLGbcSA@public.gmane.org,
sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
Stephen Smalley,
hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
In-Reply-To: <20160921161626.GA27837-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
> From: ira.weiny [mailto:ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org]
> >
> > It really isn't. net ports and service_ids are global things that do
> > not need machine-specific customizations while subnet prefix or device
> > name/port are both machine-local information.
>
> I agree that service_ids are more analogous to net ports.
>
> However, subnet prefixes are _not_ machine-local. They are controlled by the
> Admin of the fabric by a central entity (the SM). This is more helpful than in
> ethernet where if you configure the wrong port with the wrong subnet things
> just don't work. In IB I can physically plug my network into any IB port I want
> and the system is _told_ which "subnet" that port belongs to. (OPA is the same
> way.)
>
> So for IB/OPA a subnet prefix is a really good way to ID which network (subnet)
> you want to use. Unfortunately, I'm not sure how to translate that to
> iwarp/roce seamlessly except to have some concept of "domain" as I mentioned
> in my other email.
>
Exactly. The identity of both the "domain" (the subnet ID) and the "label" stem from a central entity - the SM.
It would be very natural to have IB/OPA subnet policies that are configured in all hosts and the SM. These policies are automatically enforced for any port connected to the subnet.
Not everything needs to be related to IP interfaces.
I can envision multiple jobs in the cluster, running on distinct partitions using distinct security tags, without configuring IP interfaces on these partitions.
Partition security is a useful and an effective measure that is applicable to IB/OPA networks. That's it.
Ethernet VLANs are a totally different thing --- SELinux *already* handles them for Ethernet interfaces.
There is nothing special from an admin's point of view regarding how SELinux applies to RDMA over Ethernet (RoCE/iWarp). RDMA is just another transport, and any Ethernet L2 policies should apply to it seamlessly.
--Liran
_______________________________________________
Selinux mailing list
Selinux-+05T5uksL2qpZYMLLGbcSA@public.gmane.org
To unsubscribe, send email to Selinux-leave-+05T5uksL2pAGbPMOrvdOA@public.gmane.org
To get help, send an email containing "help" to Selinux-request-+05T5uksL2pAGbPMOrvdOA@public.gmane.org
^ permalink raw reply
* Re: [PATCH rdma-next V2 0/9] Export vendors specific ABIs
From: Christoph Hellwig @ 2016-09-22 14:47 UTC (permalink / raw)
To: Leon Romanovsky
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA,
linux-rdma-u79uwXL29TY76Z2rM5mHXA, Christoph Hellwig,
Jason Gunthorpe, Laurence Oberman
In-Reply-To: <1474554679-21953-1-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Hi Leon,
this series look good to me:
Acked-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
Although I would have removed patch 8 and add the Kconfig changes to
each individual driver change instead.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH rdma-next V2 5/9] IB/ocrdma: Move user vendor structures
From: Devesh Sharma @ 2016-09-22 14:43 UTC (permalink / raw)
To: Leon Romanovsky; +Cc: Doug Ledford, linux-rdma
In-Reply-To: <1474554679-21953-6-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Acked-By: Devesh Sharma <devesh.sharma-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
On Thu, Sep 22, 2016 at 8:01 PM, Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote:
> This patch moves ocrdma vendor's specific structures to
> common UAPI folder which will be visible to all consumers.
>
> These structures are used by user-space library driver
> (libmlx4) and currently manually copied to that library.
>
> This move will allow cross-compile against these files and
> simplify introduction of vendor specific data.
>
> In addition, it changes types to be __uXX instead of uXX.
>
> Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> ---
> drivers/infiniband/hw/ocrdma/ocrdma_abi.h | 149 ---------------------------
> drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 +-
> drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +-
> include/uapi/rdma/ocrdma-abi.h | 151 ++++++++++++++++++++++++++++
> 4 files changed, 153 insertions(+), 151 deletions(-)
> delete mode 100644 drivers/infiniband/hw/ocrdma/ocrdma_abi.h
> create mode 100644 include/uapi/rdma/ocrdma-abi.h
>
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_abi.h b/drivers/infiniband/hw/ocrdma/ocrdma_abi.h
> deleted file mode 100644
> index 430b135..0000000
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_abi.h
> +++ /dev/null
> @@ -1,149 +0,0 @@
> -/* This file is part of the Emulex RoCE Device Driver for
> - * RoCE (RDMA over Converged Ethernet) adapters.
> - * Copyright (C) 2012-2015 Emulex. All rights reserved.
> - * EMULEX and SLI are trademarks of Emulex.
> - * www.emulex.com
> - *
> - * This software is available to you under a choice of one of two licenses.
> - * You may choose to be licensed under the terms of the GNU General Public
> - * License (GPL) Version 2, available from the file COPYING in the main
> - * directory of this source tree, or the BSD license below:
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - *
> - * - Redistributions of source code must retain the above copyright notice,
> - * this list of conditions and the following disclaimer.
> - *
> - * - Redistributions in binary form must reproduce the above copyright
> - * notice, this list of conditions and the following disclaimer in
> - * the documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
> - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
> - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
> - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
> - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> - *
> - * Contact Information:
> - * linux-drivers-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org
> - *
> - * Emulex
> - * 3333 Susan Street
> - * Costa Mesa, CA 92626
> - */
> -
> -#ifndef __OCRDMA_ABI_H__
> -#define __OCRDMA_ABI_H__
> -
> -#define OCRDMA_ABI_VERSION 2
> -#define OCRDMA_BE_ROCE_ABI_VERSION 1
> -/* user kernel communication data structures. */
> -
> -struct ocrdma_alloc_ucontext_resp {
> - u32 dev_id;
> - u32 wqe_size;
> - u32 max_inline_data;
> - u32 dpp_wqe_size;
> - u64 ah_tbl_page;
> - u32 ah_tbl_len;
> - u32 rqe_size;
> - u8 fw_ver[32];
> - /* for future use/new features in progress */
> - u64 rsvd1;
> - u64 rsvd2;
> -};
> -
> -struct ocrdma_alloc_pd_ureq {
> - u64 rsvd1;
> -};
> -
> -struct ocrdma_alloc_pd_uresp {
> - u32 id;
> - u32 dpp_enabled;
> - u32 dpp_page_addr_hi;
> - u32 dpp_page_addr_lo;
> - u64 rsvd1;
> -};
> -
> -struct ocrdma_create_cq_ureq {
> - u32 dpp_cq;
> - u32 rsvd; /* pad */
> -};
> -
> -#define MAX_CQ_PAGES 8
> -struct ocrdma_create_cq_uresp {
> - u32 cq_id;
> - u32 page_size;
> - u32 num_pages;
> - u32 max_hw_cqe;
> - u64 page_addr[MAX_CQ_PAGES];
> - u64 db_page_addr;
> - u32 db_page_size;
> - u32 phase_change;
> - /* for future use/new features in progress */
> - u64 rsvd1;
> - u64 rsvd2;
> -};
> -
> -#define MAX_QP_PAGES 8
> -#define MAX_UD_AV_PAGES 8
> -
> -struct ocrdma_create_qp_ureq {
> - u8 enable_dpp_cq;
> - u8 rsvd;
> - u16 dpp_cq_id;
> - u32 rsvd1; /* pad */
> -};
> -
> -struct ocrdma_create_qp_uresp {
> - u16 qp_id;
> - u16 sq_dbid;
> - u16 rq_dbid;
> - u16 resv0; /* pad */
> - u32 sq_page_size;
> - u32 rq_page_size;
> - u32 num_sq_pages;
> - u32 num_rq_pages;
> - u64 sq_page_addr[MAX_QP_PAGES];
> - u64 rq_page_addr[MAX_QP_PAGES];
> - u64 db_page_addr;
> - u32 db_page_size;
> - u32 dpp_credit;
> - u32 dpp_offset;
> - u32 num_wqe_allocated;
> - u32 num_rqe_allocated;
> - u32 db_sq_offset;
> - u32 db_rq_offset;
> - u32 db_shift;
> - u64 rsvd[11];
> -} __packed;
> -
> -struct ocrdma_create_srq_uresp {
> - u16 rq_dbid;
> - u16 resv0; /* pad */
> - u32 resv1;
> -
> - u32 rq_page_size;
> - u32 num_rq_pages;
> -
> - u64 rq_page_addr[MAX_QP_PAGES];
> - u64 db_page_addr;
> -
> - u32 db_page_size;
> - u32 num_rqe_allocated;
> - u32 db_rq_offset;
> - u32 db_shift;
> -
> - u64 rsvd2;
> - u64 rsvd3;
> -};
> -
> -#endif /* __OCRDMA_ABI_H__ */
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> index 07d0c6c..6393038 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> @@ -56,7 +56,7 @@
> #include "be_roce.h"
> #include "ocrdma_hw.h"
> #include "ocrdma_stats.h"
> -#include "ocrdma_abi.h"
> +#include <rdma/ocrdma-abi.h>
>
> MODULE_VERSION(OCRDMA_ROCE_DRV_VERSION);
> MODULE_DESCRIPTION(OCRDMA_ROCE_DRV_DESC " " OCRDMA_ROCE_DRV_VERSION);
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> index 0aa8547..6af44f8 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> @@ -51,7 +51,7 @@
> #include "ocrdma.h"
> #include "ocrdma_hw.h"
> #include "ocrdma_verbs.h"
> -#include "ocrdma_abi.h"
> +#include <rdma/ocrdma-abi.h>
>
> int ocrdma_query_pkey(struct ib_device *ibdev, u8 port, u16 index, u16 *pkey)
> {
> diff --git a/include/uapi/rdma/ocrdma-abi.h b/include/uapi/rdma/ocrdma-abi.h
> new file mode 100644
> index 0000000..9f28191
> --- /dev/null
> +++ b/include/uapi/rdma/ocrdma-abi.h
> @@ -0,0 +1,151 @@
> +/* This file is part of the Emulex RoCE Device Driver for
> + * RoCE (RDMA over Converged Ethernet) adapters.
> + * Copyright (C) 2012-2015 Emulex. All rights reserved.
> + * EMULEX and SLI are trademarks of Emulex.
> + * www.emulex.com
> + *
> + * This software is available to you under a choice of one of two licenses.
> + * You may choose to be licensed under the terms of the GNU General Public
> + * License (GPL) Version 2, available from the file COPYING in the main
> + * directory of this source tree, or the BSD license below:
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + *
> + * - Redistributions of source code must retain the above copyright notice,
> + * this list of conditions and the following disclaimer.
> + *
> + * - Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in
> + * the documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
> + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
> + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> + *
> + * Contact Information:
> + * linux-drivers-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org
> + *
> + * Emulex
> + * 3333 Susan Street
> + * Costa Mesa, CA 92626
> + */
> +
> +#ifndef OCRDMA_ABI_USER_H
> +#define OCRDMA_ABI_USER_H
> +
> +#include <linux/types.h>
> +
> +#define OCRDMA_ABI_VERSION 2
> +#define OCRDMA_BE_ROCE_ABI_VERSION 1
> +/* user kernel communication data structures. */
> +
> +struct ocrdma_alloc_ucontext_resp {
> + __u32 dev_id;
> + __u32 wqe_size;
> + __u32 max_inline_data;
> + __u32 dpp_wqe_size;
> + __u64 ah_tbl_page;
> + __u32 ah_tbl_len;
> + __u32 rqe_size;
> + __u8 fw_ver[32];
> + /* for future use/new features in progress */
> + __u64 rsvd1;
> + __u64 rsvd2;
> +};
> +
> +struct ocrdma_alloc_pd_ureq {
> + __u64 rsvd1;
> +};
> +
> +struct ocrdma_alloc_pd_uresp {
> + __u32 id;
> + __u32 dpp_enabled;
> + __u32 dpp_page_addr_hi;
> + __u32 dpp_page_addr_lo;
> + __u64 rsvd1;
> +};
> +
> +struct ocrdma_create_cq_ureq {
> + __u32 dpp_cq;
> + __u32 rsvd; /* pad */
> +};
> +
> +#define MAX_CQ_PAGES 8
> +struct ocrdma_create_cq_uresp {
> + __u32 cq_id;
> + __u32 page_size;
> + __u32 num_pages;
> + __u32 max_hw_cqe;
> + __u64 page_addr[MAX_CQ_PAGES];
> + __u64 db_page_addr;
> + __u32 db_page_size;
> + __u32 phase_change;
> + /* for future use/new features in progress */
> + __u64 rsvd1;
> + __u64 rsvd2;
> +};
> +
> +#define MAX_QP_PAGES 8
> +#define MAX_UD_AV_PAGES 8
> +
> +struct ocrdma_create_qp_ureq {
> + __u8 enable_dpp_cq;
> + __u8 rsvd;
> + __u16 dpp_cq_id;
> + __u32 rsvd1; /* pad */
> +};
> +
> +struct ocrdma_create_qp_uresp {
> + __u16 qp_id;
> + __u16 sq_dbid;
> + __u16 rq_dbid;
> + __u16 resv0; /* pad */
> + __u32 sq_page_size;
> + __u32 rq_page_size;
> + __u32 num_sq_pages;
> + __u32 num_rq_pages;
> + __u64 sq_page_addr[MAX_QP_PAGES];
> + __u64 rq_page_addr[MAX_QP_PAGES];
> + __u64 db_page_addr;
> + __u32 db_page_size;
> + __u32 dpp_credit;
> + __u32 dpp_offset;
> + __u32 num_wqe_allocated;
> + __u32 num_rqe_allocated;
> + __u32 db_sq_offset;
> + __u32 db_rq_offset;
> + __u32 db_shift;
> + __u64 rsvd[11];
> +} __packed;
> +
> +struct ocrdma_create_srq_uresp {
> + __u16 rq_dbid;
> + __u16 resv0; /* pad */
> + __u32 resv1;
> +
> + __u32 rq_page_size;
> + __u32 num_rq_pages;
> +
> + __u64 rq_page_addr[MAX_QP_PAGES];
> + __u64 db_page_addr;
> +
> + __u32 db_page_size;
> + __u32 num_rqe_allocated;
> + __u32 db_rq_offset;
> + __u32 db_shift;
> +
> + __u64 rsvd2;
> + __u64 rsvd3;
> +};
> +
> +#endif /* OCRDMA_ABI_USER_H */
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 17/23] umad: Replace .nl with .sp in man pages
From: Hal Rosenstock @ 2016-09-22 14:42 UTC (permalink / raw)
To: Leon Romanovsky; +Cc: Jason Gunthorpe, linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20160922143334.GH4088-2ukJVAZIZ/Y@public.gmane.org>
On 9/22/2016 10:33 AM, Leon Romanovsky wrote:
> On Thu, Sep 22, 2016 at 09:50:55AM -0400, Hal Rosenstock wrote:
>> On 9/22/2016 9:25 AM, Leon Romanovsky wrote:
>>> On Thu, Sep 22, 2016 at 08:27:06AM -0400, Hal Rosenstock wrote:
>>>> On 9/21/2016 6:08 PM, Jason Gunthorpe wrote:
>>>>> Debian's Lintian remarks:
>>>>>
>>>>> W: rdma-plumbing: manpage-has-errors-from-man usr/share/man/man3/umad_get_ca.3.gz 11: warning: macro `nl' not defined
>>>>> W: rdma-plumbing: manpage-has-errors-from-man usr/share/man/man3/umad_get_port.3.gz 11: warning: macro `nl' not defined
>>>>> W: rdma-plumbing: manpage-has-errors-from-man usr/share/man/man3/umad_init.3.gz 11: warning: macro `nl' not defined
>>>>>
>>>>> We use .sp in other the man pages to separate function signatures, follow
>>>>> that practice consistently.
>>>>>
>>>>> Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
>>>>
>>>> Thanks. Applied.
>>>
>>> Hal,
>>> We started to move everything to https://github.com/linux-rdma/rdma-core
>>> and it will be applied there.
>>
>> I'm tracking changes in current repo until things have fully switched
>> over. I thought that was what was said to do. Previous changes that
>> Jason pushed were also integrated there. So yes, there's some
>> duplication of effort until the old repos can safely be abandoned.
>
> OK,
> Now, I know that this move effort was not missed :)
I was aware of changeover but I wasn't aware of this repo - only Jason's
rdma-plumbing.
Thanks.
-- Hal
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 17/23] umad: Replace .nl with .sp in man pages
From: Leon Romanovsky @ 2016-09-22 14:33 UTC (permalink / raw)
To: Hal Rosenstock; +Cc: Jason Gunthorpe, linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <eccf516a-b193-5f35-4b78-02c6c7b2161c-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 1362 bytes --]
On Thu, Sep 22, 2016 at 09:50:55AM -0400, Hal Rosenstock wrote:
> On 9/22/2016 9:25 AM, Leon Romanovsky wrote:
> > On Thu, Sep 22, 2016 at 08:27:06AM -0400, Hal Rosenstock wrote:
> >> On 9/21/2016 6:08 PM, Jason Gunthorpe wrote:
> >>> Debian's Lintian remarks:
> >>>
> >>> W: rdma-plumbing: manpage-has-errors-from-man usr/share/man/man3/umad_get_ca.3.gz 11: warning: macro `nl' not defined
> >>> W: rdma-plumbing: manpage-has-errors-from-man usr/share/man/man3/umad_get_port.3.gz 11: warning: macro `nl' not defined
> >>> W: rdma-plumbing: manpage-has-errors-from-man usr/share/man/man3/umad_init.3.gz 11: warning: macro `nl' not defined
> >>>
> >>> We use .sp in other the man pages to separate function signatures, follow
> >>> that practice consistently.
> >>>
> >>> Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> >>
> >> Thanks. Applied.
> >
> > Hal,
> > We started to move everything to https://github.com/linux-rdma/rdma-core
> > and it will be applied there.
>
> I'm tracking changes in current repo until things have fully switched
> over. I thought that was what was said to do. Previous changes that
> Jason pushed were also integrated there. So yes, there's some
> duplication of effort until the old repos can safely be abandoned.
OK,
Now, I know that this move effort was not missed :)
>
> -- Hal
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* [PATCH rdma-next V2 9/9] MAINTAINERS: Update RDMA vendor specific UAPI files
From: Leon Romanovsky @ 2016-09-22 14:31 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1474554679-21953-1-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Update following drivers:
* mlx5, mlx4, cxgb3, cxgb4, ocrdma and nes.
Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
MAINTAINERS | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index db814a8..b2f8b9f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3461,6 +3461,7 @@ L: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
W: http://www.openfabrics.org
S: Supported
F: drivers/infiniband/hw/cxgb3/
+F: include/uapi/rdma/cxgb3-abi.h
CXGB4 ETHERNET DRIVER (CXGB4)
M: Hariprasad S <hariprasad-ut6Up61K2wZBDgjK7y7TUQ@public.gmane.org>
@@ -3482,6 +3483,7 @@ L: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
W: http://www.openfabrics.org
S: Supported
F: drivers/infiniband/hw/cxgb4/
+F: include/uapi/rdma/cxgb4-abi.h
CXGB4VF ETHERNET DRIVER (CXGB4VF)
M: Casey Leedom <leedom-ut6Up61K2wZBDgjK7y7TUQ@public.gmane.org>
@@ -7807,6 +7809,7 @@ Q: http://patchwork.kernel.org/project/linux-rdma/list/
S: Supported
F: drivers/infiniband/hw/mlx4/
F: include/linux/mlx4/
+F: include/uapi/rdma/mlx4-abi.h
MELLANOX MLX5 core VPI driver
M: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@@ -7828,6 +7831,7 @@ Q: http://patchwork.kernel.org/project/linux-rdma/list/
S: Supported
F: drivers/infiniband/hw/mlx5/
F: include/linux/mlx5/
+F: include/uapi/rdma/mlx5-abi.h
MELEXIS MLX90614 DRIVER
M: Crt Mori <cmo-fc6wVz46lShBDgjK7y7TUQ@public.gmane.org>
@@ -8081,6 +8085,7 @@ L: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
W: http://www.intel.com/Products/Server/Adapters/Server-Cluster/Server-Cluster-overview.htm
S: Supported
F: drivers/infiniband/hw/nes/
+F: include/uapi/rdma/nes-abi.h
NETEM NETWORK EMULATOR
M: Stephen Hemminger <stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
@@ -10595,6 +10600,7 @@ L: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
W: http://www.emulex.com
S: Supported
F: drivers/infiniband/hw/ocrdma/
+F: include/uapi/rdma/ocrdma-abi.h
SFC NETWORK DRIVER
M: Solarflare linux maintainers <linux-net-drivers-s/n/eUQHGBpZroRs9YW3xA@public.gmane.org>
--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH rdma-next V2 8/9] IB/core: Export vendor specific structures
From: Leon Romanovsky @ 2016-09-22 14:31 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1474554679-21953-1-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Export following drivers:
* mlx5, mlx4, cxgb3, cxgb4, ocrdma, nes and mthca.
Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
include/uapi/rdma/Kbuild | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/include/uapi/rdma/Kbuild b/include/uapi/rdma/Kbuild
index 4edb0f2..5579a97 100644
--- a/include/uapi/rdma/Kbuild
+++ b/include/uapi/rdma/Kbuild
@@ -7,3 +7,10 @@ header-y += rdma_netlink.h
header-y += rdma_user_cm.h
header-y += hfi/
header-y += rdma_user_rxe.h
+header-y += mlx4-abi.h
+header-y += mlx5-abi.h
+header-y += cxgb3-abi.h
+header-y += cxgb4-abi.h
+header-y += ocrdma-abi.h
+header-y += nes-abi.h
+header-y += mthca-abi.h
--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH rdma-next V2 7/9] IB/mthca: Move user vendor structures
From: Leon Romanovsky @ 2016-09-22 14:31 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1474554679-21953-1-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
This patch moves mthca vendor's specific structures to
common UAPI folder which will be visible to all consumers.
These structures are used by user-space library driver
(libmthca) and currently manually copied to that library.
This move will allow cross-compile against these files and
simplify introduction of vendor specific data.
Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
drivers/infiniband/hw/mthca/mthca_provider.c | 2 +-
include/uapi/rdma/mthca-abi.h | 111 +++++++++++++++++++++++++++
2 files changed, 112 insertions(+), 1 deletion(-)
create mode 100644 include/uapi/rdma/mthca-abi.h
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c
index da2335f..c0b6b3b 100644
--- a/drivers/infiniband/hw/mthca/mthca_provider.c
+++ b/drivers/infiniband/hw/mthca/mthca_provider.c
@@ -46,7 +46,7 @@
#include "mthca_dev.h"
#include "mthca_cmd.h"
-#include "mthca_user.h"
+#include <rdma/mthca-abi.h>
#include "mthca_memfree.h"
static void init_query_mad(struct ib_smp *mad)
diff --git a/include/uapi/rdma/mthca-abi.h b/include/uapi/rdma/mthca-abi.h
new file mode 100644
index 0000000..bcbf4ff
--- /dev/null
+++ b/include/uapi/rdma/mthca-abi.h
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2005 Topspin Communications. All rights reserved.
+ * Copyright (c) 2005, 2006 Cisco Systems. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses. You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#ifndef MTHCA_ABI_USER_H
+#define MTHCA_ABI_USER_H
+
+#include <linux/types.h>
+
+/*
+ * Increment this value if any changes that break userspace ABI
+ * compatibility are made.
+ */
+#define MTHCA_UVERBS_ABI_VERSION 1
+
+/*
+ * Make sure that all structs defined in this file remain laid out so
+ * that they pack the same way on 32-bit and 64-bit architectures (to
+ * avoid incompatibility between 32-bit userspace and 64-bit kernels).
+ * In particular do not use pointer types -- pass pointers in __u64
+ * instead.
+ */
+struct mthca_alloc_ucontext_resp {
+ __u32 qp_tab_size;
+ __u32 uarc_size;
+};
+
+struct mthca_alloc_pd_resp {
+ __u32 pdn;
+ __u32 reserved;
+};
+
+/*
+ * Mark the memory region with a DMA attribute that causes
+ * in-flight DMA to be flushed when the region is written to:
+ */
+#define MTHCA_MR_DMASYNC 0x1
+
+struct mthca_reg_mr {
+ __u32 mr_attrs;
+ __u32 reserved;
+};
+
+struct mthca_create_cq {
+ __u32 lkey;
+ __u32 pdn;
+ __u64 arm_db_page;
+ __u64 set_db_page;
+ __u32 arm_db_index;
+ __u32 set_db_index;
+};
+
+struct mthca_create_cq_resp {
+ __u32 cqn;
+ __u32 reserved;
+};
+
+struct mthca_resize_cq {
+ __u32 lkey;
+ __u32 reserved;
+};
+
+struct mthca_create_srq {
+ __u32 lkey;
+ __u32 db_index;
+ __u64 db_page;
+};
+
+struct mthca_create_srq_resp {
+ __u32 srqn;
+ __u32 reserved;
+};
+
+struct mthca_create_qp {
+ __u32 lkey;
+ __u32 reserved;
+ __u64 sq_db_page;
+ __u64 rq_db_page;
+ __u32 sq_db_index;
+ __u32 rq_db_index;
+};
+#endif /* MTHCA_ABI_USER_H */
--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH rdma-next V2 6/9] IB/nes: Move user vendor structures
From: Leon Romanovsky @ 2016-09-22 14:31 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1474554679-21953-1-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
This patch moves nes vendor's specific structures to
common UAPI folder which will be visible to all consumers.
These structures are used by user-space library driver
(libmlx4) and currently manually copied to that library.
This move will allow cross-compile against these files and
simplify introduction of vendor specific data.
Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
drivers/infiniband/hw/nes/nes.h | 2 +-
drivers/infiniband/hw/nes/nes_user.h | 114 -----------------------------------
include/uapi/rdma/nes-abi.h | 114 +++++++++++++++++++++++++++++++++++
3 files changed, 115 insertions(+), 115 deletions(-)
delete mode 100644 drivers/infiniband/hw/nes/nes_user.h
create mode 100644 include/uapi/rdma/nes-abi.h
diff --git a/drivers/infiniband/hw/nes/nes.h b/drivers/infiniband/hw/nes/nes.h
index bd9d132..e7430c9 100644
--- a/drivers/infiniband/hw/nes/nes.h
+++ b/drivers/infiniband/hw/nes/nes.h
@@ -165,7 +165,7 @@ do { \
#include "nes_hw.h"
#include "nes_verbs.h"
#include "nes_context.h"
-#include "nes_user.h"
+#include <rdma/nes-abi.h>
#include "nes_cm.h"
#include "nes_mgt.h"
diff --git a/drivers/infiniband/hw/nes/nes_user.h b/drivers/infiniband/hw/nes/nes_user.h
deleted file mode 100644
index 529c421..0000000
--- a/drivers/infiniband/hw/nes/nes_user.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
- * Copyright (c) 2005 Topspin Communications. All rights reserved.
- * Copyright (c) 2005 Cisco Systems. All rights reserved.
- * Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses. You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
-#ifndef NES_USER_H
-#define NES_USER_H
-
-#include <linux/types.h>
-
-#define NES_ABI_USERSPACE_VER 2
-#define NES_ABI_KERNEL_VER 2
-
-/*
- * Make sure that all structs defined in this file remain laid out so
- * that they pack the same way on 32-bit and 64-bit architectures (to
- * avoid incompatibility between 32-bit userspace and 64-bit kernels).
- * In particular do not use pointer types -- pass pointers in __u64
- * instead.
- */
-
-struct nes_alloc_ucontext_req {
- __u32 reserved32;
- __u8 userspace_ver;
- __u8 reserved8[3];
-};
-
-struct nes_alloc_ucontext_resp {
- __u32 max_pds; /* maximum pds allowed for this user process */
- __u32 max_qps; /* maximum qps allowed for this user process */
- __u32 wq_size; /* size of the WQs (sq+rq) allocated to the mmaped area */
- __u8 virtwq; /* flag to indicate if virtual WQ are to be used or not */
- __u8 kernel_ver;
- __u8 reserved[2];
-};
-
-struct nes_alloc_pd_resp {
- __u32 pd_id;
- __u32 mmap_db_index;
-};
-
-struct nes_create_cq_req {
- __u64 user_cq_buffer;
- __u32 mcrqf;
- __u8 reserved[4];
-};
-
-struct nes_create_qp_req {
- __u64 user_wqe_buffers;
- __u64 user_qp_buffer;
-};
-
-enum iwnes_memreg_type {
- IWNES_MEMREG_TYPE_MEM = 0x0000,
- IWNES_MEMREG_TYPE_QP = 0x0001,
- IWNES_MEMREG_TYPE_CQ = 0x0002,
- IWNES_MEMREG_TYPE_MW = 0x0003,
- IWNES_MEMREG_TYPE_FMR = 0x0004,
- IWNES_MEMREG_TYPE_FMEM = 0x0005,
-};
-
-struct nes_mem_reg_req {
- __u32 reg_type; /* indicates if id is memory, QP or CQ */
- __u32 reserved;
-};
-
-struct nes_create_cq_resp {
- __u32 cq_id;
- __u32 cq_size;
- __u32 mmap_db_index;
- __u32 reserved;
-};
-
-struct nes_create_qp_resp {
- __u32 qp_id;
- __u32 actual_sq_size;
- __u32 actual_rq_size;
- __u32 mmap_sq_db_index;
- __u32 mmap_rq_db_index;
- __u32 nes_drv_opt;
-};
-
-#endif /* NES_USER_H */
diff --git a/include/uapi/rdma/nes-abi.h b/include/uapi/rdma/nes-abi.h
new file mode 100644
index 0000000..6eb3734
--- /dev/null
+++ b/include/uapi/rdma/nes-abi.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
+ * Copyright (c) 2005 Topspin Communications. All rights reserved.
+ * Copyright (c) 2005 Cisco Systems. All rights reserved.
+ * Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses. You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ */
+
+#ifndef NES_ABI_USER_H
+#define NES_ABI_USER_H
+
+#include <linux/types.h>
+
+#define NES_ABI_USERSPACE_VER 2
+#define NES_ABI_KERNEL_VER 2
+
+/*
+ * Make sure that all structs defined in this file remain laid out so
+ * that they pack the same way on 32-bit and 64-bit architectures (to
+ * avoid incompatibility between 32-bit userspace and 64-bit kernels).
+ * In particular do not use pointer types -- pass pointers in __u64
+ * instead.
+ */
+
+struct nes_alloc_ucontext_req {
+ __u32 reserved32;
+ __u8 userspace_ver;
+ __u8 reserved8[3];
+};
+
+struct nes_alloc_ucontext_resp {
+ __u32 max_pds; /* maximum pds allowed for this user process */
+ __u32 max_qps; /* maximum qps allowed for this user process */
+ __u32 wq_size; /* size of the WQs (sq+rq) allocated to the mmaped area */
+ __u8 virtwq; /* flag to indicate if virtual WQ are to be used or not */
+ __u8 kernel_ver;
+ __u8 reserved[2];
+};
+
+struct nes_alloc_pd_resp {
+ __u32 pd_id;
+ __u32 mmap_db_index;
+};
+
+struct nes_create_cq_req {
+ __u64 user_cq_buffer;
+ __u32 mcrqf;
+ __u8 reserved[4];
+};
+
+struct nes_create_qp_req {
+ __u64 user_wqe_buffers;
+ __u64 user_qp_buffer;
+};
+
+enum iwnes_memreg_type {
+ IWNES_MEMREG_TYPE_MEM = 0x0000,
+ IWNES_MEMREG_TYPE_QP = 0x0001,
+ IWNES_MEMREG_TYPE_CQ = 0x0002,
+ IWNES_MEMREG_TYPE_MW = 0x0003,
+ IWNES_MEMREG_TYPE_FMR = 0x0004,
+ IWNES_MEMREG_TYPE_FMEM = 0x0005,
+};
+
+struct nes_mem_reg_req {
+ __u32 reg_type; /* indicates if id is memory, QP or CQ */
+ __u32 reserved;
+};
+
+struct nes_create_cq_resp {
+ __u32 cq_id;
+ __u32 cq_size;
+ __u32 mmap_db_index;
+ __u32 reserved;
+};
+
+struct nes_create_qp_resp {
+ __u32 qp_id;
+ __u32 actual_sq_size;
+ __u32 actual_rq_size;
+ __u32 mmap_sq_db_index;
+ __u32 mmap_rq_db_index;
+ __u32 nes_drv_opt;
+};
+
+#endif /* NES_ABI_USER_H */
--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox