From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org
Subject: Re: [PATCH v2] [RFC] rdma/cm: support option to allow manually setting IB path
Date: Thu, 22 Oct 2009 12:11:01 -0600 [thread overview]
Message-ID: <20091022181101.GY14520@obsidianresearch.com> (raw)
In-Reply-To: <1438C87E89284364A56E08A40DFE199E-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
On Thu, Oct 22, 2009 at 10:52:13AM -0700, Sean Hefty wrote:
> >> +static int ucma_set_ib_path(struct ucma_context *ctx,
> >> + struct ib_path_rec_data *path_data, size_t optlen)
> >> +{
> >> + struct ib_sa_path_rec sa_path;
> >> + struct rdma_cm_event event;
> >> + int ret;
> >> +
> >> + if (optlen != sizeof(*path_data))
> >> + return -EINVAL;
> >> +
> >> + if (path_data->flags != IB_PATH_GMP | IB_PATH_PRIMARY |
> >> + IB_PATH_OUTBOUND | IB_PATH_INBOUND)
> >> + return -EINVAL;
> >
> >This should accept an array here, to aid easing in APM support:
>
> I agree - I thought about this after sending the patch. This is more what I
> think is needed at this point:
>
> if ((optlen % sizeof(*path_data)) != 0) return -EINVAL;
>
> if (number of paths > 1)
> return -ENOSYS;
This is really no different than what you had at first.
My idea was to have the kernel search the array for the entries it
needs/supports. First one found wins. This provides future
API compatability.
Some future userspace, to support some future kernel APM, would pass in 2
entries:
IB_PATH_GMP | IB_PATH_PRIMARY | IB_PATH_OUTBOUND | IB_PATH_INBOUND
IB_PATH_GMP | IB_PATH_ALTERNATE | IB_PATH_OUTBOUND | IB_PATH_INBOUND
This shouldn't break old kernels.
Again, some even future kernel would support 6 entries, future user
space would send this:
IB_PATH_PRIMARY | IB_PATH_INBOUND
IB_PATH_PRIMARY | IB_PATH_OUTBOUND
IB_PATH_GMP | IB_PATH_PRIMARY | IB_PATH_OUTBOUND | IB_PATH_INBOUND
IB_PATH_ALTERNATE | IB_PATH_INBOUND
IB_PATH_ALTERNATE | IB_PATH_OUTBOUND
IB_PATH_GMP | IB_PATH_ALTERNATE | IB_PATH_OUTBOUND | IB_PATH_INBOUND
This shouldn't break old kernels either.
Maybe it is worth returning a postive integer from the syscall
indicating the number of paths the kernel accepted. Although I suspect
most use models of this will ignore that.
> >I like the PATH_PRIMARY/PATH_ALTERNATE idea,
> >
> >But I think IB_PATH_OUTBOUND_REV is still required.
>
> I'm not fond of the reverse idea. Why do you think it's needed?
Alignment with the SM. (Actually, it would be IB_PATH_INBOUND_REV)
You have a PR query where SGID=local, DGID=remote that gives you
IB_PATH_OUTBOUND. Then you do a query with SGID=remote, DGID=local,
that gives you IB_PATH_INBOUND. ie the SGID is different in each
result. This is necessary, non-reversible paths are uni-directional.
If you use a reversible path then the IB_PATH_OUTBOUND == IB_PATH_GMP
== IB_PATH_INBOUND_REV (ie the inbound side is always the one that has
SGID/DGID direction swapped)
Since this is going with the raw PR from the SA, I think it is wise to
not require any modification of the PR as it flows from the SA to the
kernel. Thus there are two PR representations for IB_PATH_INBOUND -
one that has SGID=local (_REV) and one that has SGID=remote.
So either IB_PATH_INBOUND_REV is explicitly part of the flags
structure, or IB_PATH_INBOUND | IB_PATH_OUTBOUND implicity means
IB_PATH_INBOUND_REV | IB_PATH_OUTBOUND
The implict behavior seems way to subtle to me, making it explicit
clears up which is which.
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
next prev parent reply other threads:[~2009-10-22 18:11 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
[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
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=20091022181101.GY14520@obsidianresearch.com \
--to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@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.