From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: "Hefty,
Sean" <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
OFVWG <ofvwg-ZwoEplunGu1OwGhvXhtEPSCwEArCW2h5@public.gmane.org>,
"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"Weiny, Ira" <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: Further thoughts on uAPI
Date: Tue, 26 Apr 2016 08:33:23 -0600 [thread overview]
Message-ID: <20160426143323.GA24104@obsidianresearch.com> (raw)
In-Reply-To: <571F6A8C.9080100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
On Tue, Apr 26, 2016 at 09:18:04AM -0400, Doug Ledford wrote:
> > So, a sketch would look like this:
> >
> > struct msg
> > {
> > uint16_t length;
> > uint16_t class_id;
> > uint32_t object_id; // in/out
> > struct qp_base_attr
> > {
> > uint16_t length;
> > uint16_t attribute_id;
> >
> > uint16_t qpn; //in/out
> > uint16_t qp_flags;
> > uint16_t max_send_wr,max_recv_qr,max_send_sge,////
> > };
> > // Option to piggy back what ibv_modify_qp does:
> > struct qp_addr_ib
> > {
> > uint16_t length;
> > uint16_t attribute_id;
> >
> > uint16_t dlid,slid,sl,pkey,etc;
> > }
> > }
> >
> > msg.length = sizeof(msg);
> > msg.class_id = RDMA_OBJ_QP_UD;
> > msg.base.legnth = sizeof(msg.base);
> > msg.base.attribute_id = RDMA_ATTR_QP_BASE;
> > msg.base.qp_flags = XX
> > [..]
> > ioctl(fd,RDMA_CREATE_OBJECT,&msg);
> > [..]
> > ioctl(fd,RDMA_MODIFY_OBJECT,&msg2);
>
> I think I would do it slightly differently. In this example, the
> class_id covers the entire list of commands.
It isn't a list of commands, it is a list of attributes - this was
specifically exploring the idea Liran has talked about where create_qp
and modify_qp *as a special case* can be combined. This is not
chaining commands but atomically creating a qp with the full set of
attributes.
> if each command in the linked list was fully self-contained and
> complete. For the example of the cmtime program that's part of
> librdamcm, when you run it with 1000s of connections as the test, being
> able to pipeline 10, or 50, or 100 different commands would be useful to
> the test. Likewise, a verbs 2.0 application might want to build up a
> chain of commands and pass the whole chain down in one ioctl.
It would not be too hard to provide a linked list execution ioctl:
struct chain_hdr
{
uint32_t command;
struct chain_hdr *next;
uint64_t msg[];
}
ioctl(fd,RDMA_EXECUTE_CHAINED_COMMANDS,&chain_hdr);
I think the kernel side would be fairly trivial.
Someone would have to figure out a way to use that from userspace of
course..
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:[~2016-04-26 14:33 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-20 1:25 Further thoughts on uAPI Jason Gunthorpe
[not found] ` <20160420012526.GA25508-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-20 4:54 ` Hefty, Sean
2016-04-21 12:32 ` Hefty, Sean
2016-04-21 13:35 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB044043-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-21 13:54 ` Hefty, Sean
2016-04-21 14:03 ` Leon Romanovsky
[not found] ` <20160421140347.GI26951-2ukJVAZIZ/Y@public.gmane.org>
2016-04-21 14:35 ` Hefty, Sean
2016-04-21 17:24 ` Jason Gunthorpe
[not found] ` <20160421172428.GA5102-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-22 16:35 ` Hefty, Sean
2016-04-24 20:11 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB045101-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-25 18:19 ` Jason Gunthorpe
[not found] ` <20160425181953.GC7675-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-25 19:16 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB04548E-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-25 20:53 ` Jason Gunthorpe
2016-04-26 13:18 ` Doug Ledford
[not found] ` <571F6A8C.9080100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-04-26 14:33 ` Jason Gunthorpe [this message]
2016-04-24 14:15 ` Liran Liss
[not found] ` <AM3PR05MB141161876D5CA05B1993D20CB1610-LOZWmgKjnYgmsg45OnKo/9qRiQSDpxhJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-04-26 14:19 ` Doug Ledford
[not found] ` <571F78F9.8010401-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-04-26 14:58 ` Jason Gunthorpe
[not found] ` <20160426145813.GB24104-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-26 16:38 ` Doug Ledford
[not found] ` <571F9968.3080501-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-04-26 16:54 ` Jason Gunthorpe
2016-04-26 16:46 ` Hefty, Sean
2016-04-25 16:29 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB0453F5-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-25 18:32 ` Jason Gunthorpe
[not found] ` <20160425183243.GD7675-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-25 18:51 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB045460-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-25 20:22 ` Jason Gunthorpe
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=20160426143323.GA24104@obsidianresearch.com \
--to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=ofvwg-ZwoEplunGu1OwGhvXhtEPSCwEArCW2h5@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