From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Matan Barak <matanb-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
Cc: "Hefty,
Sean" <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
"dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [RFC ABI 0/8] Netlink-based IOCTLs RDMA ABI
Date: Thu, 26 May 2016 11:22:44 -0600 [thread overview]
Message-ID: <20160526172244.GC27115@obsidianresearch.com> (raw)
In-Reply-To: <CAAKD3BA3fxgHwSXg__9LAPo7E4-7NY7h7Gea5+1GCg11ydn2kQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Thu, May 26, 2016 at 06:18:02PM +0300, Matan Barak wrote:
> The proposal treat every pointer as a typed pointer (which pretty much
> resembles the netlink style of doing things, but instead of
> serializing it into the buffer, we just scatter it to multiple
> buffers).
Yes
> I'm not sure it makes the parsing and validations easier.
It means less parsing work, you don't need to validate message
structure for instance, the header can be copy'd without allocation,
size validation can be deferred to the reader, we don't need alignment
padding complexity.
It also means less parsing work in user space because the reply
message is already fully scattered where the caller wants it, so it
doesn't need to parse netlink stuff in the reply either.
The downside is that for the most part the reply structure must be
known in advance
> Actually, I was thinking about ditching the common response buffer and
> just overwriting the command buffer.
The sgl approach allows this by letting user-space set the in and out
pointers to the same thing, without having problems with specifying
the out length or requiring user space to parse netlink to find the
reply.
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-05-26 17:22 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-24 14:35 [RFC ABI 0/8] Netlink-based IOCTLs RDMA ABI Leon Romanovsky
[not found] ` <1464100526-31730-1-git-send-email-leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-05-24 14:35 ` [RFC ABI 1/8] IB/core: Export RDMA IOCTL declarations Leon Romanovsky
[not found] ` <1464100526-31730-2-git-send-email-leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-05-24 19:46 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05008A-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-24 19:49 ` Leon Romanovsky
2016-05-24 14:35 ` [RFC ABI 2/8] lib/nlattr: Add parsing netlink and validate using callback Leon Romanovsky
2016-05-24 14:35 ` [RFC ABI 3/8] IB/core: Adding netlink based udata Leon Romanovsky
2016-05-24 14:35 ` [RFC ABI 4/8] IB/core: Add DIRECT ioctl call to vendor Leon Romanovsky
2016-05-24 14:35 ` [RFC ABI 5/8] IB/core: Add new ioctl for VERBS commands with netlink style parsing Leon Romanovsky
2016-05-24 14:35 ` [RFC ABI 6/8] IB/core: Add outptr to udata in order to track the output size Leon Romanovsky
2016-05-24 14:35 ` [RFC ABI 7/8] IB/core: Refactor idr to a shared file Leon Romanovsky
2016-05-24 14:35 ` [RFC ABI 8/8] IB/core: Implement device_create with the new ABI Leon Romanovsky
[not found] ` <1464100526-31730-9-git-send-email-leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-05-24 20:04 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB0500F1-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-24 21:53 ` Jason Gunthorpe
[not found] ` <20160524215335.GE7950-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-24 22:02 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05024F-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-24 22:11 ` Jason Gunthorpe
[not found] ` <20160524221118.GG7950-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-24 22:24 ` Hefty, Sean
2016-05-24 22:07 ` Jason Gunthorpe
[not found] ` <20160524220720.GF7950-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-26 6:00 ` Leon Romanovsky
2016-05-26 13:24 ` Matan Barak
[not found] ` <CAAKD3BDVFs4rivq1qEih-Z5uOMSVp=OuwDaVroK=UjAhcj6wsg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-05-26 17:30 ` Jason Gunthorpe
2016-05-24 19:37 ` [RFC ABI 0/8] Netlink-based IOCTLs RDMA ABI Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05004F-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-24 21:01 ` Jason Gunthorpe
[not found] ` <20160524210132.GB7950-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-24 21:16 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB0501E2-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-24 21:31 ` Steve Wise
2016-05-24 21:49 ` Jason Gunthorpe
[not found] ` <20160524214951.GC7950-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-24 21:59 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05023F-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-24 22:30 ` Jason Gunthorpe
[not found] ` <20160524223052.GI7950-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-24 22:44 ` Hefty, Sean
2016-05-26 15:18 ` Matan Barak
[not found] ` <CAAKD3BA3fxgHwSXg__9LAPo7E4-7NY7h7Gea5+1GCg11ydn2kQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-05-26 17:22 ` Jason Gunthorpe [this message]
[not found] ` <20160526172244.GC27115-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-26 22:53 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05BB5D-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-26 23:36 ` Jason Gunthorpe
[not found] ` <20160526233612.GA4396-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-27 0:46 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05BC0C-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-27 13:19 ` Leon Romanovsky
[not found] ` <20160527131956.GY25500-2ukJVAZIZ/Y@public.gmane.org>
2016-05-27 15:04 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05BD12-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-29 8:16 ` Leon Romanovsky
[not found] ` <20160529081646.GA25500-2ukJVAZIZ/Y@public.gmane.org>
2016-05-31 17:56 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05CA92-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-05-31 18:10 ` Leon Romanovsky
[not found] ` <20160531181012.GD7477-2ukJVAZIZ/Y@public.gmane.org>
2016-05-31 20:01 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB05CBD5-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-06-01 11:18 ` Leon Romanovsky
2016-05-25 13:14 ` Leon Romanovsky
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=20160526172244.GC27115@obsidianresearch.com \
--to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matanb-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@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