public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] rdma/cm: support option to allow manually setting IB path
@ 2009-10-05 17:43 Sean Hefty
       [not found] ` <F0EFC2D8E6A340D48497497670C5969C-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
  0 siblings, 1 reply; 76+ messages in thread
From: Sean Hefty @ 2009-10-05 17:43 UTC (permalink / raw)
  To: linux-rdma, Roland Dreier; +Cc: Hefty, Sean

Export rdma_set_ib_paths to user space to allow applications to
manually set the IB path used for connections.  This allows
alternative ways for a user space application or library to obtain
path record information, including retrieving path information
from cached data, avoiding direct interaction with the IB SA.
The IB SA is a single, centralized entity that can limit scaling
on large clusters running MPI applications.

Signed-off-by: Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
I'd like to get feedback on this approach with the possibility of merging
for 2.6.33.

 drivers/infiniband/core/ucma.c |   40 ++++++++++++++++++++++++++++++++++++++++
 include/rdma/rdma_user_cm.h    |    7 +++++--
 2 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c
index 4346a24..1359727 100644
--- a/drivers/infiniband/core/ucma.c
+++ b/drivers/infiniband/core/ucma.c
@@ -42,6 +42,7 @@
 #include <rdma/rdma_user_cm.h>
 #include <rdma/ib_marshall.h>
 #include <rdma/rdma_cm.h>
+#include <rdma/rdma_cm_ib.h>
 
 MODULE_AUTHOR("Sean Hefty");
 MODULE_DESCRIPTION("RDMA Userspace Connection Manager Access");
@@ -811,6 +812,42 @@ static int ucma_set_option_id(struct ucma_context *ctx, int optname,
 	return ret;
 }
 
+static int ucma_set_ib_path(struct ucma_context *ctx,
+			    struct ib_user_path_rec *upath, size_t optlen)
+{
+	struct ib_sa_path_rec sa_path;
+	struct rdma_cm_event event;
+	int ret;
+
+	if (optlen != sizeof(*upath))
+		return -EINVAL;
+
+	ib_copy_path_rec_from_user(&sa_path, upath);
+	ret = rdma_set_ib_paths(ctx->cm_id, &sa_path, 1);
+	if (ret)
+		return ret;
+
+	memset(&event, 0, sizeof event);
+	event.event = RDMA_CM_EVENT_ROUTE_RESOLVED;
+	return ucma_event_handler(ctx->cm_id, &event);
+}
+
+static int ucma_set_option_ib(struct ucma_context *ctx, int optname,
+			      void *optval, size_t optlen)
+{
+	int ret;
+
+	switch (optname) {
+	case RDMA_OPTION_IB_PATH:
+		ret = ucma_set_ib_path(ctx, optval, optlen);
+		break;
+	default:
+		ret = -ENOSYS;
+	}
+
+	return ret;
+}
+
 static int ucma_set_option_level(struct ucma_context *ctx, int level,
 				 int optname, void *optval, size_t optlen)
 {
@@ -820,6 +857,9 @@ static int ucma_set_option_level(struct ucma_context *ctx, int level,
 	case RDMA_OPTION_ID:
 		ret = ucma_set_option_id(ctx, optname, optval, optlen);
 		break;
+	case RDMA_OPTION_IB:
+		ret = ucma_set_option_ib(ctx, optname, optval, optlen);
+		break;
 	default:
 		ret = -ENOSYS;
 	}
diff --git a/include/rdma/rdma_user_cm.h b/include/rdma/rdma_user_cm.h
index c557054..d7829f4 100644
--- a/include/rdma/rdma_user_cm.h
+++ b/include/rdma/rdma_user_cm.h
@@ -215,12 +215,15 @@ struct rdma_ucm_event_resp {
 
 /* Option levels */
 enum {
-	RDMA_OPTION_ID		= 0
+	RDMA_OPTION_ID		= 0,
+	RDMA_OPTION_IB		= 1
 };
 
 /* Option details */
 enum {
-	RDMA_OPTION_ID_TOS	= 0
+	RDMA_OPTION_ID_TOS	= 0,
+
+	RDMA_OPTION_IB_PATH	= 1
 };
 
 struct rdma_ucm_set_option {



--
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	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2009-11-02 18:59 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-05 17:43 [PATCH 1/2] rdma/cm: support option to allow manually setting IB path Sean Hefty
     [not found] ` <F0EFC2D8E6A340D48497497670C5969C-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-05 17:45   ` [PATCH 2/2] rdma/cm: allow user to specify IP to DGID mapping Sean Hefty
     [not found]     ` <F451C333D8CB45E4B4642C6BD1EDD3C3-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-06  8:00       ` Or Gerlitz
     [not found]         ` <4ACAF913.3050909-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-10-06 19:05           ` Sean Hefty
     [not found]             ` <AA7E7C8FC2A04B9688CD69CEB7355DF8-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-06 20:07               ` Jason Gunthorpe
     [not found]                 ` <20091006200739.GP5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-06 22:53                   ` Sean Hefty
     [not found]                     ` <B266C10D3C26431E8FF5012420132452-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-06 23:17                       ` Jason Gunthorpe
     [not found]                         ` <20091006231720.GR5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-07  1:20                           ` Sean Hefty
     [not found]                             ` <3F7D26D4BA1C46F18F2F87BDD7EB7F36-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-07  5:26                               ` Jason Gunthorpe
     [not found]                                 ` <20091007052639.GB18578-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-07 19:16                                   ` Sean Hefty
     [not found]                                     ` <20ADF14BE2B24B459DC3921F69449E61-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-07 20:32                                       ` Jason Gunthorpe
     [not found]                                         ` <20091007203257.GT5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-07 21:20                                           ` Hefty, Sean
     [not found]                                             ` <CF9C39F99A89134C9CF9C4CCB68B8DDF12C180FFD1-osO9UTpF0USkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2009-10-07 21:45                                               ` Jason Gunthorpe
2009-10-07 22:23               ` Or Gerlitz
     [not found]                 ` <15ddcffd0910071523w4f229b14j905ad170ceb8c21f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-07 23:42                   ` Sean Hefty
     [not found]                     ` <9F4DE6A2B4F644698E94F00C4FEEF30A-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-08  0:38                       ` Sean Hefty
     [not found]                         ` <0A383504E0E54C949DEF84405E3AE92F-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-08  0:54                           ` Jason Gunthorpe
     [not found]                             ` <20091008005425.GW5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-08  6:46                               ` Sean Hefty
     [not found]                                 ` <3BA5B96263EC4ACA8FF3C4D8DCF47C69-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-08 17:21                                   ` Jason Gunthorpe
     [not found]                                     ` <20091008172120.GX5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-08 23:39                                       ` Or Gerlitz
2009-10-08 23:33                           ` Or Gerlitz
     [not found]                             ` <15ddcffd0910081633q20d98abfg41a9f4e781e486b1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-09  0:24                               ` Sean Hefty
     [not found]                                 ` <859D79BFCA4741F393AABF76BBCA4F7B-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-20 10:22                                   ` Or Gerlitz
     [not found]                                     ` <4ADD8F5F.3010008-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-10-20 18:08                                       ` Sean Hefty
     [not found]                                         ` <9F76F7CD7B9048E8821A1B05CC5FAFE8-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-20 18:31                                           ` Jason Gunthorpe
     [not found]                                             ` <20091020183132.GE14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-20 19:13                                               ` Sean Hefty
     [not found]                                                 ` <A47D2FC6B143436DB87704307B0E715D-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-20 19:18                                                   ` Jason Gunthorpe
     [not found]                                                     ` <20091020191821.GI14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-20 20:05                                                       ` Sean Hefty
     [not found]                                                         ` <8D09997BDBC5482C86EAD338F19C8030-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-20 20:29                                                           ` Jason Gunthorpe
     [not found]                                                             ` <20091020202902.GJ14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-20 20:48                                                               ` Sean Hefty
     [not found]                                                                 ` <B7BCBF813BF447B28330C2DB8F1437D6-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-20 21:30                                                                   ` Jason Gunthorpe
2009-10-22 15:41                                           ` Or Gerlitz
     [not found]                                             ` <4AE07D41.7040300-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-10-22 16:39                                               ` Jason Gunthorpe
     [not found]                                                 ` <20091022163904.GC26003-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-25 11:32                                                   ` Or Gerlitz
     [not found]                                                     ` <4AE4374B.6020104-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-10-25 18:50                                                       ` Jason Gunthorpe
2009-10-22 19:14                                               ` Sean Hefty
     [not found]                                                 ` <9574E625AB3C48E6A7DF1A2760882363-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-25 11:25                                                   ` Or Gerlitz
     [not found]                                                     ` <4AE435A1.6040309-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-10-25 18:32                                                       ` Jason Gunthorpe
2009-10-09  0:33                               ` Jason Gunthorpe
2009-10-08 23:13                       ` Or Gerlitz
2009-10-05 17:56   ` [PATCH 1/2] rdma/cm: support option to allow manually setting IB path Jason Gunthorpe
     [not found]     ` <20091005175656.GK5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-05 18:08       ` Sean Hefty
     [not found]         ` <F7D418716F3A4A0DACE42CC449624298-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-05 18:15           ` Jason Gunthorpe
     [not found]             ` <20091005181525.GL5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-05 19:20               ` Sean Hefty
2009-10-06 15:01               ` Todd Rimmer
     [not found]                 ` <5AEC2602AE03EB46BFC16C6B9B200DA8168EFD82BA-e4KNYiSEog6Xx9kJd3VG2h2eb7JE58TQ@public.gmane.org>
2009-10-06 19:05                   ` Sean Hefty
     [not found]                     ` <D61F37041B6F49ACB0AC64FBF2DC4D00-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-07  5:30                       ` Jason Gunthorpe
2009-10-09 21:48   ` Sean Hefty
     [not found]     ` <A08104C1CF70400F8BEF492AD49C8491-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-13 13:06       ` Or Gerlitz
     [not found]         ` <4AD47B40.8070800-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-10-20 10:23           ` Or Gerlitz
     [not found]             ` <4ADD8FAA.902-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-10-20 15:52               ` Sean Hefty
2009-10-20 18:14       ` Jason Gunthorpe
     [not found]         ` <20091020181458.GD14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-20 18:34           ` Sean Hefty
     [not found]             ` <46770152ACA04B6C8AA9497C45AC8FD0-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-20 19:14               ` Jason Gunthorpe
     [not found]                 ` <20091020191404.GH14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-22  0:14                   ` Sean Hefty
     [not found]                     ` <9DFD8E65325F4EE990749EEBE4BC33CA-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-22  0:42                       ` Jason Gunthorpe
     [not found]                         ` <20091022004245.GV14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-22  1:07                           ` Sean Hefty
     [not found]                             ` <AE35305D45DB49F591A45DADD822209A-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-22  1:35                               ` Jason Gunthorpe
     [not found]                                 ` <20091022013542.GX14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-22  8:10                                   ` [PATCH v2] [RFC] " Sean Hefty
     [not found]                                     ` <B7E97540810E4A2785FF1FC8CB96F453-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-22 16:54                                       ` Jason Gunthorpe
     [not found]                                         ` <20091022165414.GH26003-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-22 17:52                                           ` Sean Hefty
     [not found]                                             ` <1438C87E89284364A56E08A40DFE199E-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-22 18:11                                               ` Jason Gunthorpe
     [not found]                                                 ` <20091022181101.GY14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-22 18:28                                                   ` Sean Hefty
     [not found]                                                     ` <67280F81CB6F417DA6EEE22448ED5500-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-22 18:36                                                       ` Jason Gunthorpe
2009-10-22 20:26                                       ` [PATCH v3] " Sean Hefty
     [not found]                                         ` <DC0770A17FDC4DACAC0251A3362CE87A-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-28 18:11                                           ` Roland Dreier
     [not found]                                             ` <adaiqdzs81h.fsf-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2009-10-28 19:00                                               ` Sean Hefty
     [not found]                                                 ` <B82A674A574A4A239FBF3FFCBF5D6BB6-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-11-01  6:50                                                   ` Or Gerlitz
2009-10-28 19:14                                               ` Jason Gunthorpe
     [not found]                                                 ` <20091028191454.GL14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-28 19:37                                                   ` Sean Hefty
     [not found]                                                     ` <5082D185D95A4389BC9EEA666CAEBA66-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-28 20:25                                                       ` Jason Gunthorpe
     [not found]                                                         ` <20091028202545.GM14520-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-28 21:41                                                           ` Sean Hefty
     [not found]                                                             ` <24B14DCC9C3645FB92194300C8F5D441-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-28 22:24                                                               ` Jason Gunthorpe
2009-10-30  1:49                                           ` [PATCH v4] " Sean Hefty
     [not found]                                             ` <1B115D7248A5404781F001F72A7C591A-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-11-01  7:10                                               ` Or Gerlitz
     [not found]                                                 ` <4AED347A.1060301-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-11-02 18:59                                                   ` QoS in local SA entity: was " Sean Hefty

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox