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>
Subject: Re: [PATCH 1/2] rdma/cm: support option to allow manually setting IB path
Date: Wed, 21 Oct 2009 18:42:45 -0600 [thread overview]
Message-ID: <20091022004245.GV14520@obsidianresearch.com> (raw)
In-Reply-To: <9DFD8E65325F4EE990749EEBE4BC33CA-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
On Wed, Oct 21, 2009 at 05:14:59PM -0700, Sean Hefty wrote:
> >Maybe something simple:
> >
> >struct ibv_kern_path_rec2
> >{
> > u32 flags;
> > struct ibv_kern_path_rec rec;
> >}
>
> This is more as an RFC:
>
> Looking at ib_user_path_rec / ibv_kern_path_rec, we could just make
> use of the existing bits that are available. We have 2 32-bit
> fields that are only used to record a single bit of data, the gids,
> plus numb_path and preference fields.
>
> We should be able to determine if a path is forward, reverse, or
> both by looking at the sgid and the reversible bit. Preference
> (flags) could be used to indicate if a path is primary, alternate,
> or for the CM only. With the exception of the marking a path for
> the CM, the use of the fields in this manner seems somewhat natural
> to me.
I'm reluctant to override fields like this to save 4 bytes. The
clarity and extensibility of using an additional flags field seems
worth it to me, and the processing code is not complex. I cannot think
of a motivation to save the 4 bytes?
As I said, in many ways I would actually much perfer it if the
structure was:
struct ibv_kern_path_rec2
{
u32 flags;
u32 pr[512/8/4];
}
Where 'pr' is simply the 64 bytes of data directly from the MAD. The
kernel already has parsing code for it. As it is with the libibcm
things are kind of insane, first we decode the PR mad into an
ibv_path_rec, then convert that into an ibv_kern_path_rec, which is
unpacked into various other structures anyhow. Ik.
The main advantage of the above is that the resolver function can
directly pass the bytes from the SM into the kernel, so if the spec is
extended the path to flow the extension from the SM to the kernel is
already in place.
It is actually very easy to process 'PR', first do this:
for (unsigned int I = 0; I != 64; I++)
pr[I] = be_to_cpu32(pr[I]);
Then cast to this structure:
#if __BYTE_ORDER == __LITTLE_ENDIAN
struct SAPathRecord {
uint32_t rsv0;
uint32_t rsv1;
uint32_t DGID[4];
uint32_t SGID[4];
uint16_t SLID;
uint16_t DLID;
uint32_t hopLimit:8;
uint32_t flowLabel:20;
uint32_t rsv2:3;
uint32_t rawTraffic:1;
uint16_t PKey;
uint8_t numbPath:7;
uint8_t reversible:1;
uint8_t TClass;
uint8_t rate:6;
uint8_t rateSelector:2;
uint8_t MTU:6;
uint8_t MTUSelector:2;
uint16_t SL:4;
uint16_t rsv3:12;
uint16_t rsv4;
uint8_t preference;
uint8_t packetLifeTime:6;
uint8_t packetLifeTimeSelector:2;
uint32_t rsv5;
};
#else
struct SAPathRecord {
uint32_t rsv0;
uint32_t rsv1;
uint32_t DGID[4];
uint32_t SGID[4];
uint16_t DLID;
uint16_t SLID;
uint32_t rawTraffic:1;
uint32_t rsv2:3;
uint32_t flowLabel:20;
uint32_t hopLimit:8;
uint8_t TClass;
uint8_t reversible:1;
uint8_t numbPath:7;
uint16_t PKey;
uint16_t rsv3:12;
uint16_t SL:4;
uint8_t MTUSelector:2;
uint8_t MTU:6;
uint8_t rateSelector:2;
uint8_t rate:6;
uint8_t packetLifeTimeSelector:2;
uint8_t packetLifeTime:6;
uint8_t preference;
uint16_t rsv4;
uint32_t rsv5;
};
#endif
Fin. Super simple. The horror that the kernel uses now is silly code
bloatery :)
Pretty much the same technique that is used for the IP/TCP header in
certain places in 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
next prev parent reply other threads:[~2009-10-22 0:42 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 [this message]
[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
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=20091022004245.GV14520@obsidianresearch.com \
--to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox