All of lore.kernel.org
 help / color / mirror / Atom feed
From: "ira.weiny" <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: Michael Wang <yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>,
	Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Hal Rosenstock
	<hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Tom Tucker
	<tom-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	Steve Wise
	<swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	Hoang-Nam Nguyen
	<hnguyen-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
	Christoph Raisch <raisch-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
	Mike Marciniszyn
	<infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Faisal Latif
	<faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Jack Morgenstein
	<jackm-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
	Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Haggai Eran <haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Tom Talpey <tom-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>,
	Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH v3 07/28] IB/Verbs: Reform IB-ulp ipoib
Date: Tue, 14 Apr 2015 10:18:07 -0400	[thread overview]
Message-ID: <20150414141806.GA7354@phlsvsds.ph.intel.com> (raw)
In-Reply-To: <20150413200138.GC19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

On Mon, Apr 13, 2015 at 02:01:38PM -0600, Jason Gunthorpe wrote:
> On Mon, Apr 13, 2015 at 03:46:03PM -0400, ira.weiny wrote:
> 
> > > This doesn't quite look right, it should be 'goto error1'
> > 
> > Looks like you replied to the wrong patch.  ??  I don't see error1 in ipoib_add_one.
> 
> > For the ib_cm module...
> 
> Right, sorry.
>  
> > Yes I think it should go to "error1".  However, see below...
> > 
> > This is the type of clean up error which would be avoided if a call to
> > cap_ib_cm_dev() were done at the top of the function.
> 
> So what does cap_ib_cm_dev return in your example:

I was thinking it was all or nothing.  But I see now that the cap_ib_cm_dev is
actually true if "any" port supports the CM.

> > Dev
> > 	port 1 : cap_is_cm == true
> > 	port 2 : cap_is_cm == false
> > 	port 3 : cap_is_cm == true
> 
> True? Then the code is still broken, having cap_ib_cm_dev doesn't help
> anything.

I see that now.

> 
> If we make it possible to be per port then it has to be fixed.

Yes

> 
> If you want to argue the above example is illegal and port 2 has to be
> on a different device, I'd be interested to see what that looks like.

I think the easiest fix for this series is to add this to the final CM code
(applies after the end of the series compile tested only):

diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index 63418ee..0d0fc24 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -3761,7 +3761,11 @@ static void cm_add_one(struct ib_device *ib_device)
        unsigned long flags;
        int ret;
        u8 i;
-       int count = 0;
+
+       for (i = 1; i <= ib_device->phys_port_cnt; i++) {
+               if (!cap_ib_cm(ib_device, i))
+                       return;
+       }
 
        cm_dev = kzalloc(sizeof(*cm_dev) + sizeof(*port) *
                         ib_device->phys_port_cnt, GFP_KERNEL);
@@ -3810,14 +3814,6 @@ static void cm_add_one(struct ib_device *ib_device)
                ret = ib_modify_port(ib_device, i, 0, &port_modify);
                if (ret)
                        goto error3;
-
-               count++;
-       }
-
-       if (!count) {
-               device_unregister(cm_dev->device);
-               kfree(cm_dev);
-               return;
	}
 
        ib_set_client_data(ib_device, &cm_client, cm_dev);


> 
> Thinking about it some more, cap_foo_dev only makes sense if all ports
> are either true or false. Mixed is a BUG.

Agree

After more thought and reading other opinions, I must agree we should not
have cap_foo_dev.

For the CM case which has some need to support itself device device wide what
about this patch (compile tested only):


10:03:57 > git di
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 4b083f5..7347445 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -1639,7 +1639,7 @@ static void cma_listen_on_dev(struct rdma_id_private
*id_priv,
        struct rdma_cm_id *id;
        int ret;
 
-       if (cma_family(id_priv) == AF_IB && !cap_ib_cm_dev(cma_dev->device))
+       if (cma_family(id_priv) == AF_IB && !cap_ib_cm_any_port(cma_dev->device))
                return;
 
        id = rdma_create_id(cma_listen_handler, id_priv, id_priv->id.ps,
@@ -2030,7 +2030,7 @@ static int cma_bind_loopback(struct rdma_id_private
*id_priv)
        mutex_lock(&lock);
        list_for_each_entry(cur_dev, &dev_list, list) {
                if (cma_family(id_priv) == AF_IB &&
-                   !cap_ib_cm_dev(cur_dev->device))
+                   !cap_ib_cm_any_port(cur_dev->device))
                        continue;
 
                if (!cma_dev)
diff --git a/drivers/infiniband/core/ucm.c b/drivers/infiniband/core/ucm.c
index 065405e..dc4caae 100644
--- a/drivers/infiniband/core/ucm.c
+++ b/drivers/infiniband/core/ucm.c
@@ -1253,7 +1253,7 @@ static void ib_ucm_add_one(struct ib_device *device)
        dev_t base;
        struct ib_ucm_device *ucm_dev;
 
-       if (!device->alloc_ucontext || !cap_ib_cm_dev(device))
+       if (!device->alloc_ucontext || !cap_ib_cm_any_port(device))
                return;
 
        ucm_dev = kzalloc(sizeof *ucm_dev, GFP_KERNEL);
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 3cc3f53..a8fa1f5 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1920,15 +1920,14 @@ static inline int cap_read_multi_sge(struct ib_device
*device, u8 port_num)
 }
 
 /**
- * cap_ib_cm_dev - Check if any port of device has the capability Infiniband
- * Communication Manager.
+ * cap_ib_cm_any_port - Check if any port of the device has Infiniband
+ * Communication Manager (CM) support.
  *
  * @device: Device to be checked
  *
- * Return 0 when all port of the device don't support Infiniband
- * Communication Manager.
+ * Return 1 if any port of the device supports the IB CM.
  */
-static inline int cap_ib_cm_dev(struct ib_device *device)
+static inline int cap_ib_cm_any_port(struct ib_device *device)
 {
        int i;
 

> 
> That seems reasonable, and solves the #10 problem, but we should
> enforce this invariant during device register.
> 
> Typically the ports seem to be completely orthogonal (like SA), so in those
> cases the _dev and restriction makes no sense.

While the ports in ib_sa and ib_umad probably can be orthogonal the current
implementation does not support that and this patch series obscures that a bit.

> 
> CM seems to be different, so it should probably enforce its rules

Technically, the implementation of the ib_sa and ib_umad modules are not
different it is just that Michaels patch is not broken.

I'm not saying we can't change the ib_sa and ib_umad modules but the current
logic is all or nothing.  And I think changing this :

	1) require more review and testing
	2) is not the purpose of this series.

Ira

> 
> 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

WARNING: multiple messages have this Message-ID (diff)
From: "ira.weiny" <ira.weiny@intel.com>
To: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Michael Wang <yun.wang@profitbricks.com>,
	Roland Dreier <roland@kernel.org>,
	Sean Hefty <sean.hefty@intel.com>,
	Hal Rosenstock <hal.rosenstock@gmail.com>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org,
	Tom Tucker <tom@opengridcomputing.com>,
	Steve Wise <swise@opengridcomputing.com>,
	Hoang-Nam Nguyen <hnguyen@de.ibm.com>,
	Christoph Raisch <raisch@de.ibm.com>,
	Mike Marciniszyn <infinipath@intel.com>,
	Eli Cohen <eli@mellanox.com>,
	Faisal Latif <faisal.latif@intel.com>,
	Jack Morgenstein <jackm@dev.mellanox.co.il>,
	Or Gerlitz <ogerlitz@mellanox.com>,
	Haggai Eran <haggaie@mellanox.com>, Tom Talpey <tom@talpey.com>,
	Doug Ledford <dledford@redhat.com>
Subject: Re: [PATCH v3 07/28] IB/Verbs: Reform IB-ulp ipoib
Date: Tue, 14 Apr 2015 10:18:07 -0400	[thread overview]
Message-ID: <20150414141806.GA7354@phlsvsds.ph.intel.com> (raw)
In-Reply-To: <20150413200138.GC19112@obsidianresearch.com>

On Mon, Apr 13, 2015 at 02:01:38PM -0600, Jason Gunthorpe wrote:
> On Mon, Apr 13, 2015 at 03:46:03PM -0400, ira.weiny wrote:
> 
> > > This doesn't quite look right, it should be 'goto error1'
> > 
> > Looks like you replied to the wrong patch.  ??  I don't see error1 in ipoib_add_one.
> 
> > For the ib_cm module...
> 
> Right, sorry.
>  
> > Yes I think it should go to "error1".  However, see below...
> > 
> > This is the type of clean up error which would be avoided if a call to
> > cap_ib_cm_dev() were done at the top of the function.
> 
> So what does cap_ib_cm_dev return in your example:

I was thinking it was all or nothing.  But I see now that the cap_ib_cm_dev is
actually true if "any" port supports the CM.

> > Dev
> > 	port 1 : cap_is_cm == true
> > 	port 2 : cap_is_cm == false
> > 	port 3 : cap_is_cm == true
> 
> True? Then the code is still broken, having cap_ib_cm_dev doesn't help
> anything.

I see that now.

> 
> If we make it possible to be per port then it has to be fixed.

Yes

> 
> If you want to argue the above example is illegal and port 2 has to be
> on a different device, I'd be interested to see what that looks like.

I think the easiest fix for this series is to add this to the final CM code
(applies after the end of the series compile tested only):

diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index 63418ee..0d0fc24 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -3761,7 +3761,11 @@ static void cm_add_one(struct ib_device *ib_device)
        unsigned long flags;
        int ret;
        u8 i;
-       int count = 0;
+
+       for (i = 1; i <= ib_device->phys_port_cnt; i++) {
+               if (!cap_ib_cm(ib_device, i))
+                       return;
+       }
 
        cm_dev = kzalloc(sizeof(*cm_dev) + sizeof(*port) *
                         ib_device->phys_port_cnt, GFP_KERNEL);
@@ -3810,14 +3814,6 @@ static void cm_add_one(struct ib_device *ib_device)
                ret = ib_modify_port(ib_device, i, 0, &port_modify);
                if (ret)
                        goto error3;
-
-               count++;
-       }
-
-       if (!count) {
-               device_unregister(cm_dev->device);
-               kfree(cm_dev);
-               return;
	}
 
        ib_set_client_data(ib_device, &cm_client, cm_dev);


> 
> Thinking about it some more, cap_foo_dev only makes sense if all ports
> are either true or false. Mixed is a BUG.

Agree

After more thought and reading other opinions, I must agree we should not
have cap_foo_dev.

For the CM case which has some need to support itself device device wide what
about this patch (compile tested only):


10:03:57 > git di
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 4b083f5..7347445 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -1639,7 +1639,7 @@ static void cma_listen_on_dev(struct rdma_id_private
*id_priv,
        struct rdma_cm_id *id;
        int ret;
 
-       if (cma_family(id_priv) == AF_IB && !cap_ib_cm_dev(cma_dev->device))
+       if (cma_family(id_priv) == AF_IB && !cap_ib_cm_any_port(cma_dev->device))
                return;
 
        id = rdma_create_id(cma_listen_handler, id_priv, id_priv->id.ps,
@@ -2030,7 +2030,7 @@ static int cma_bind_loopback(struct rdma_id_private
*id_priv)
        mutex_lock(&lock);
        list_for_each_entry(cur_dev, &dev_list, list) {
                if (cma_family(id_priv) == AF_IB &&
-                   !cap_ib_cm_dev(cur_dev->device))
+                   !cap_ib_cm_any_port(cur_dev->device))
                        continue;
 
                if (!cma_dev)
diff --git a/drivers/infiniband/core/ucm.c b/drivers/infiniband/core/ucm.c
index 065405e..dc4caae 100644
--- a/drivers/infiniband/core/ucm.c
+++ b/drivers/infiniband/core/ucm.c
@@ -1253,7 +1253,7 @@ static void ib_ucm_add_one(struct ib_device *device)
        dev_t base;
        struct ib_ucm_device *ucm_dev;
 
-       if (!device->alloc_ucontext || !cap_ib_cm_dev(device))
+       if (!device->alloc_ucontext || !cap_ib_cm_any_port(device))
                return;
 
        ucm_dev = kzalloc(sizeof *ucm_dev, GFP_KERNEL);
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 3cc3f53..a8fa1f5 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1920,15 +1920,14 @@ static inline int cap_read_multi_sge(struct ib_device
*device, u8 port_num)
 }
 
 /**
- * cap_ib_cm_dev - Check if any port of device has the capability Infiniband
- * Communication Manager.
+ * cap_ib_cm_any_port - Check if any port of the device has Infiniband
+ * Communication Manager (CM) support.
  *
  * @device: Device to be checked
  *
- * Return 0 when all port of the device don't support Infiniband
- * Communication Manager.
+ * Return 1 if any port of the device supports the IB CM.
  */
-static inline int cap_ib_cm_dev(struct ib_device *device)
+static inline int cap_ib_cm_any_port(struct ib_device *device)
 {
        int i;
 

> 
> That seems reasonable, and solves the #10 problem, but we should
> enforce this invariant during device register.
> 
> Typically the ports seem to be completely orthogonal (like SA), so in those
> cases the _dev and restriction makes no sense.

While the ports in ib_sa and ib_umad probably can be orthogonal the current
implementation does not support that and this patch series obscures that a bit.

> 
> CM seems to be different, so it should probably enforce its rules

Technically, the implementation of the ib_sa and ib_umad modules are not
different it is just that Michaels patch is not broken.

I'm not saying we can't change the ib_sa and ib_umad modules but the current
logic is all or nothing.  And I think changing this :

	1) require more review and testing
	2) is not the purpose of this series.

Ira

> 
> Jason

  parent reply	other threads:[~2015-04-14 14:18 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-13 12:20 [PATCH v3 00/28] IB/Verbs: IB Management Helpers Michael Wang
2015-04-13 12:23 ` [PATCH v3 04/28] IB/Verbs: Reform IB-core cm Michael Wang
     [not found]   ` <552BB552.1030905-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:12     ` ira.weiny
2015-04-13 18:12       ` ira.weiny
     [not found]       ` <20150413181248.GA2464-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-13 18:40         ` Hefty, Sean
2015-04-13 18:40           ` Hefty, Sean
     [not found]           ` <1828884A29C6694DAF28B7E6B8A82373A8FC0A3A-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-13 19:29             ` Jason Gunthorpe
2015-04-13 19:29               ` Jason Gunthorpe
     [not found]               ` <20150413192930.GA18587-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-13 19:52                 ` ira.weiny
2015-04-13 19:52                   ` ira.weiny
2015-04-14  7:57                 ` Michael Wang
2015-04-14  7:57                   ` Michael Wang
2015-04-14  7:50         ` Michael Wang
2015-04-14  7:50           ` Michael Wang
2015-04-13 12:24 ` [PATCH v3 05/28] IB/Verbs: Reform IB-core sa_query Michael Wang
     [not found]   ` <552BB572.4040300-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:14     ` ira.weiny
2015-04-13 18:14       ` ira.weiny
2015-04-13 18:45   ` Hefty, Sean
2015-04-13 18:45     ` Hefty, Sean
     [not found]     ` <1828884A29C6694DAF28B7E6B8A82373A8FC0A58-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-14  8:03       ` Michael Wang
2015-04-14  8:03         ` Michael Wang
2015-04-13 12:25 ` [PATCH v3 08/28] IB/Verbs: Reform IB-ulp xprtrdma Michael Wang
2015-04-13 12:26 ` [PATCH v3 09/28] IB/Verbs: Reform IB-core verbs/uverbs_cmd/sysfs Michael Wang
2015-04-13 12:29 ` [PATCH v3 14/28] IB/Verbs: Reform cma_acquire_dev() Michael Wang
2015-04-13 12:29 ` [PATCH v3 15/28] IB/Verbs: Reform rest part in IB-core cma Michael Wang
2015-04-13 12:30 ` [PATCH v3 17/28] IB/Verbs: Use management helper cap_ib_smi() Michael Wang
     [not found] ` <552BB470.4090407-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 12:22   ` [PATCH v3 01/28] IB/Verbs: Implement new callback query_transport() Michael Wang
2015-04-13 12:22     ` Michael Wang
2015-04-15 18:36     ` Hal Rosenstock
     [not found]       ` <552EAF9D.8050400-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-15 19:29         ` Hefty, Sean
2015-04-15 19:29           ` Hefty, Sean
     [not found]           ` <1828884A29C6694DAF28B7E6B8A82373A8FC1C7C-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-15 20:39             ` ira.weiny
2015-04-15 20:39               ` ira.weiny
2015-04-15 20:33         ` ira.weiny
2015-04-15 20:33           ` ira.weiny
     [not found]           ` <20150415203332.GA15877-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-16 11:40             ` Hal Rosenstock
2015-04-16 11:40               ` Hal Rosenstock
2015-04-16  7:30         ` Michael Wang
2015-04-16  7:30           ` Michael Wang
2015-04-13 12:22   ` [PATCH v3 02/28] IB/Verbs: Implement raw management helpers Michael Wang
2015-04-13 12:22     ` Michael Wang
2015-04-13 12:23   ` [PATCH v3 03/28] IB/Verbs: Reform IB-core mad/agent/user_mad Michael Wang
2015-04-13 12:23     ` Michael Wang
2015-04-13 12:24   ` [PATCH v3 06/28] IB/Verbs: Reform IB-core multicast Michael Wang
2015-04-13 12:24     ` Michael Wang
2015-04-13 12:25   ` [PATCH v3 07/28] IB/Verbs: Reform IB-ulp ipoib Michael Wang
2015-04-13 12:25     ` Michael Wang
     [not found]     ` <552BB5AC.6050101-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:16       ` ira.weiny
2015-04-13 18:16         ` ira.weiny
2015-04-13 19:27     ` Jason Gunthorpe
2015-04-13 19:46       ` ira.weiny
     [not found]         ` <20150413194602.GA21467-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-13 20:01           ` Jason Gunthorpe
2015-04-13 20:01             ` Jason Gunthorpe
     [not found]             ` <20150413200138.GC19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 14:18               ` ira.weiny [this message]
2015-04-14 14:18                 ` ira.weiny
     [not found]                 ` <20150414141806.GA7354-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 14:32                   ` Michael Wang
2015-04-14 14:32                     ` Michael Wang
     [not found]                     ` <552D2519.6000500-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-14 15:40                       ` ira.weiny
2015-04-14 15:40                         ` ira.weiny
     [not found]                         ` <20150414154012.GA13852-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 15:51                           ` Michael Wang
2015-04-14 15:51                             ` Michael Wang
2015-04-14 17:09                           ` Hefty, Sean
2015-04-14 17:09                             ` Hefty, Sean
2015-04-14 17:25                   ` Jason Gunthorpe
2015-04-14 17:25                     ` Jason Gunthorpe
     [not found]                     ` <20150414172514.GB7682-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 17:43                       ` ira.weiny
2015-04-14 17:43                         ` ira.weiny
     [not found]                         ` <20150414174311.GA28111-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 17:59                           ` Jason Gunthorpe
2015-04-14 17:59                             ` Jason Gunthorpe
     [not found]                             ` <20150414175904.GB13896-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 18:02                               ` Hefty, Sean
2015-04-14 18:02                                 ` Hefty, Sean
     [not found]                                 ` <1828884A29C6694DAF28B7E6B8A82373A8FC127C-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-14 18:21                                   ` Jason Gunthorpe
2015-04-14 18:21                                     ` Jason Gunthorpe
2015-04-15  7:58                                     ` Michael Wang
     [not found]                                       ` <552E1A1A.4090704-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 16:44                                         ` Jason Gunthorpe
2015-04-16 16:44                                           ` Jason Gunthorpe
     [not found]                                           ` <20150416164418.GC22946-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-16 17:02                                             ` Roland Dreier
2015-04-16 17:02                                               ` Roland Dreier
     [not found]                                               ` <CAG4TOxPMaRAR_B69J1_SHaHh8YMW2Unx786t2FbrA8g=05BAgA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-16 17:21                                                 ` Hefty, Sean
2015-04-16 17:21                                                   ` Hefty, Sean
2015-04-16 17:45                                                 ` Jason Gunthorpe
2015-04-16 17:45                                                   ` Jason Gunthorpe
2015-04-17  7:35                                                 ` Michael Wang
2015-04-17  7:35                                                   ` Michael Wang
2015-04-16 17:05                                             ` Weiny, Ira
2015-04-16 17:05                                               ` Weiny, Ira
     [not found]                                               ` <2807E5FD2F6FDA4886F6618EAC48510E0CC8BFFA-8k97q/ur5Z2krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-17  7:40                                                 ` Michael Wang
2015-04-17  7:40                                                   ` Michael Wang
     [not found]       ` <20150413192701.GA19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14  8:08         ` Michael Wang
2015-04-14  8:08           ` Michael Wang
2015-04-13 12:26   ` [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma Michael Wang
2015-04-13 12:26     ` Michael Wang
     [not found]     ` <552BB60F.60109-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 19:25       ` Hefty, Sean
2015-04-13 19:25         ` Hefty, Sean
     [not found]         ` <1828884A29C6694DAF28B7E6B8A82373A8FC0ACF-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-13 19:50           ` Jason Gunthorpe
2015-04-13 19:50             ` Jason Gunthorpe
2015-04-13 20:31             ` Hefty, Sean
     [not found]             ` <20150413195040.GB19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-15 18:36               ` Hal Rosenstock
2015-04-15 18:36                 ` Hal Rosenstock
2015-04-14  8:35         ` Michael Wang
     [not found]           ` <552CD156.9060709-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-14 15:50             ` ira.weiny
2015-04-14 15:50               ` ira.weiny
     [not found]               ` <20150414155033.GB13852-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 15:58                 ` Michael Wang
2015-04-14 15:58                   ` Michael Wang
2015-04-13 12:27   ` [PATCH v3 11/28] IB/Verbs: Reform route " Michael Wang
2015-04-13 12:27     ` Michael Wang
2015-04-13 12:28   ` [PATCH v3 12/28] IB/Verbs: Reform mcast " Michael Wang
2015-04-13 12:28     ` Michael Wang
2015-04-13 12:28   ` [PATCH v3 13/28] IB/Verbs: Reserve legacy transport type in 'dev_addr' Michael Wang
2015-04-13 12:28     ` Michael Wang
2015-04-13 12:30   ` [PATCH v3 16/28] IB/Verbs: Use management helper cap_ib_mad() Michael Wang
2015-04-13 12:30     ` Michael Wang
2015-04-13 12:31   ` [PATCH v3 18/28] IB/Verbs: Use management helper cap_ib_cm() Michael Wang
2015-04-13 12:31     ` Michael Wang
2015-04-13 12:32   ` [PATCH v3 19/28] IB/Verbs: Use management helper cap_iw_cm() Michael Wang
2015-04-13 12:32     ` Michael Wang
2015-04-13 12:34   ` [PATCH v3 24/28] IB/Verbs: Use management helper cap_ib_cm_dev() Michael Wang
2015-04-13 12:34     ` Michael Wang
2015-04-13 12:32 ` [PATCH v3 20/28] IB/Verbs: Use management helper cap_ib_sa() Michael Wang
2015-04-13 12:33 ` [PATCH v3 21/28] IB/Verbs: Use management helper cap_ib_mcast() Michael Wang
2015-04-13 12:33 ` [PATCH v3 22/28] IB/Verbs: Use management helper cap_ipoib() Michael Wang
2015-04-13 12:34 ` [PATCH v3 23/28] IB/Verbs: Use management helper cap_read_multi_sge() Michael Wang
2015-04-13 12:35 ` [PATCH v3 25/28] IB/Verbs: Use management helper cap_af_ib() Michael Wang
     [not found]   ` <552BB801.2010506-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:57     ` Or Gerlitz
2015-04-16 13:57       ` Or Gerlitz
     [not found]       ` <CAJ3xEMiEoosZzHhpoJOLdxmdhRrjOfB=HV6bHhus7E=QmHiwPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-16 14:16         ` Hal Rosenstock
2015-04-16 14:16           ` Hal Rosenstock
     [not found]           ` <552FC441.5070500-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 15:09             ` Hefty, Sean
2015-04-16 15:09               ` Hefty, Sean
     [not found]               ` <1828884A29C6694DAF28B7E6B8A82373A8FC23BF-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-16 15:28                 ` Michael Wang
2015-04-16 15:28                   ` Michael Wang
2015-04-13 12:35 ` [PATCH v3 26/28] IB/Verbs: Use management helper cap_eth_ah() Michael Wang
2015-04-13 12:36 ` [PATCH v3 27/28] IB/Verbs: Clean up rdma_ib_or_iboe() Michael Wang
     [not found]   ` <552BB85D.7010400-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 20:33     ` Jason Gunthorpe
2015-04-13 20:33       ` Jason Gunthorpe
     [not found]       ` <20150413203350.GA20611-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14  9:13         ` Michael Wang
2015-04-14  9:13           ` Michael Wang
     [not found]           ` <552CDA1F.4050609-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 16:43             ` Jason Gunthorpe
2015-04-16 16:43               ` Jason Gunthorpe
     [not found]               ` <20150416164311.GB22946-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-16 18:07                 ` Steve Wise
2015-04-16 18:07                   ` Steve Wise
2015-04-17  8:04                   ` Michael Wang
2015-04-17  8:04                     ` Michael Wang
2015-04-17  8:00                 ` Michael Wang
2015-04-17  8:00                   ` Michael Wang
2015-04-13 12:37 ` [PATCH v3 28/28] IB/Verbs: Cleanup rdma_node_get_transport() Michael Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150414141806.GA7354@phlsvsds.ph.intel.com \
    --to=ira.weiny-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=hnguyen-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
    --cc=infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=jackm-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=raisch-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
    --cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \
    --cc=tom-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \
    --cc=tom-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org \
    --cc=yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.