From: Al Viro <viro-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
To: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"Marciniszyn,
Mike" <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v4 17/50] IB/hfi1: add PSM driver control/data path
Date: Fri, 31 Jul 2015 09:22:33 +0100 [thread overview]
Message-ID: <20150731082207.GT17109@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20150731073158.GA2485-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
On Fri, Jul 31, 2015 at 12:31:58AM -0700, Christoph Hellwig wrote:
> On Thu, Jul 30, 2015 at 05:42:16PM -0400, Doug Ledford wrote:
> > I have no problem with this code. That Al finds the user space ABI for
> > this driver to be bizarre is neither here nor there to me. Sure, this
> > file does not exhibit normal file API behavior. Who cares?
>
> Everyone who cares about filesystem semantics does.
>
> A NACK from me for a this features, and b) for trying to sneak it in
> after a negative comment without cc to -fsdevel and Al.
FWIW, the lack of comments appears to have tripped Doug, judging by his
"another option would be to drop the write function altogether and just make
all commands come through writev/write_iter and if you only have one command,
you only send one element".
The thing is, ipath and qib (and AFAICS this one as well) have write(2) and
writev(2) take different and completely unrelated sets of commands. On
the same file. IOW, the effects of
writev(fd, &(struct iovec){buf, len}, 1)
and
write(fd, buf, len)
are not even remotely similar. _That_ is the gratuitous weirdness I'd been
unhappy with. And yes, it is gratuitous - it's trivial to have separate files
for separate command sets.
If you drop ->write() in there, you certainly lose the weirdness - along with
one of those command sets. Sure, having individual iovecs correspond to
separate datagrams is fine; tons of drivers are like that. qib and ipath
are unique, though, in having *two* command sets overloaded on the same file,
with write() vs. writev() acting as selector (BTW, single-element AIO
going like writev(), not like write()).
PS: I'm back after several weeks of being sick (recipe for fun: start with
40C in shade, get completely soaked in serious rain, then have half an hour
cab ride, with AC set to ~15C) and while I'd managed to get the mailbox
down to relatively sane size, I might have easily deleted more than I should
have. If there had been anything important sent my way and I don't reply to
it by Saturday, please resend.
--
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:[~2015-07-31 8:22 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-30 19:17 [PATCH v4 00/50] Add OPA gen1 driver Mike Marciniszyn
[not found] ` <20150730191631.25256.95511.stgit-K+u1se/DcYrLESAwzcoQNrvm/XP+8Wra@public.gmane.org>
2015-07-30 19:17 ` [PATCH v4 01/50] IB: Add CNP opcode enumeration Mike Marciniszyn
[not found] ` <20150730191732.25256.85207.stgit-K+u1se/DcYrLESAwzcoQNrvm/XP+8Wra@public.gmane.org>
2015-07-30 20:35 ` Christoph Lameter
[not found] ` <alpine.DEB.2.11.1507301530490.6551-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-07-30 20:43 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC25777E49-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-30 20:56 ` Christoph Lameter
[not found] ` <alpine.DEB.2.11.1507301554450.6808-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-07-30 21:13 ` Marciniszyn, Mike
2015-07-30 21:18 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC2577803E-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-30 22:09 ` ira.weiny
[not found] ` <20150730220922.GA22204-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-07-31 14:00 ` Christoph Lameter
2015-07-30 19:17 ` [PATCH v4 02/50] IB/core: Add header definitions Mike Marciniszyn
2015-07-30 19:17 ` [PATCH v4 03/50] IB/hfi1: add chip specific support part1 Mike Marciniszyn
2015-07-30 19:17 ` [PATCH v4 04/50] IB/hfi1: add chip specific support part2 Mike Marciniszyn
2015-07-30 19:17 ` [PATCH v4 05/50] IB/hfi1: add chip specific support part3 Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 06/50] IB/hfi1: add chip specific support part4 Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 07/50] IB/hfi1: add chip register definitions Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 08/50] IB/hfi1: add chip specific headers Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 09/50] IB/hfi1: add common header file definitions Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 10/50] IB/hfi1: add completion queue processing Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 11/50] IB/hfi1: add debugfs handling Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 12/50] IB/hfi1: add char device instantiation code Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 13/50] IB/hfi1: add diagnostic hooks Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 14/50] IB/hfi1: add dma operation hooks Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 15/50] IB/hfi1: add low level receive functions Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 16/50] IB/hfi1: add eeprom hooks Mike Marciniszyn
2015-07-30 19:18 ` [PATCH v4 17/50] IB/hfi1: add PSM driver control/data path Mike Marciniszyn
[not found] ` <20150730191859.25256.28987.stgit-K+u1se/DcYrLESAwzcoQNrvm/XP+8Wra@public.gmane.org>
2015-07-30 19:40 ` Jason Gunthorpe
[not found] ` <20150730194041.GA28754-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-07-30 20:01 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC25777DA0-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-30 21:42 ` Doug Ledford
[not found] ` <55BA9A38.2030401-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-07-30 22:00 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC2577809D-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-30 22:10 ` Doug Ledford
[not found] ` <55BAA0E1.7000402-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-07-30 22:30 ` Jason Gunthorpe
2015-07-31 7:31 ` Christoph Hellwig
[not found] ` <20150731073158.GA2485-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-07-31 8:22 ` Al Viro [this message]
[not found] ` <20150731082207.GT17109-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2015-07-31 14:19 ` Doug Ledford
2015-08-01 20:18 ` Doug Ledford
[not found] ` <55BD2997.6000203-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-08-03 15:27 ` Christoph Hellwig
2015-07-30 19:19 ` [PATCH v4 18/50] IB/hfi1: add firmware hooks Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 19/50] IB/hfi1: add general hfi header file Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 20/50] IB/hfi1: add module init hooks Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 21/50] IB/hfi1: add interrupt hooks Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 22/50] IB/hfi1: add progress delay/restart hooks Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 23/50] IB/hfi1: add rkey/lkey validation Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 24/50] IB/hfi1: add OPA mad handling part1 Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 25/50] IB/hfi1: add OPA mad handling part2 Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 26/50] IB/hfi1: add local mad header Mike Marciniszyn
2015-07-30 19:19 ` [PATCH v4 27/50] IB/hfi1: add user/kernel memory sharing hooks Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 28/50] IB/hfi1: add memory region handling Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 29/50] IB/hfi1: add misc OPA defines Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 30/50] IB/hfi1: add pcie routines Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 31/50] IB/hfi1: add pio handling Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 32/50] IB/hfi1: add platform config definitions Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 33/50] IB/hfi1: add qp handling Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 34/50] IB/hfi1: add qsfp handling Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 35/50] IB/hfi1: add RC QP handling Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 36/50] IB/hfi1: add common routines for RC/UC Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 37/50] IB/hfi1: add sdma routines Mike Marciniszyn
2015-07-30 19:20 ` [PATCH v4 38/50] IB/hfi1: add sdma header file Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 39/50] IB/hfi1: add SRQ handling Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 40/50] IB/hfi1: add sysfs routines and documentation Mike Marciniszyn
[not found] ` <20150730192109.25256.56498.stgit-K+u1se/DcYrLESAwzcoQNrvm/XP+8Wra@public.gmane.org>
2015-07-30 20:51 ` Christoph Lameter
[not found] ` <alpine.DEB.2.11.1507301541170.6551-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-07-30 22:28 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC257780D1-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-30 22:35 ` Jason Gunthorpe
[not found] ` <20150730223516.GA4946-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-07-30 22:47 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC2577810F-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-30 22:51 ` Jason Gunthorpe
2015-07-31 14:17 ` Christoph Lameter
2015-07-31 14:48 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC25778486-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-31 15:13 ` Christoph Lameter
[not found] ` <alpine.DEB.2.11.1507310957320.12455-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-07-31 15:32 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC257784F5-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-31 16:07 ` Christoph Lameter
2015-07-31 16:53 ` Jason Gunthorpe
[not found] ` <20150731165359.GB6027-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-07-31 17:05 ` Christoph Lameter
[not found] ` <alpine.DEB.2.11.1507311205220.13612-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-07-31 17:27 ` Marciniszyn, Mike
[not found] ` <32E1700B9017364D9B60AED9960492BC2577861E-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-31 18:32 ` Christoph Lameter
2015-07-30 19:21 ` [PATCH v4 41/50] IB/hfi1: add tracepoint debug routines Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 42/50] IB/hfi1: add QSFP twsi routines Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 43/50] IB/hfi1: add UC QP handling Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 44/50] IB/hfi1: add UD " Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 45/50] IB/hfi1: add low level page locking Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 46/50] IB/hfi1: add PSM sdma hooks Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 47/50] IB/hfi1: add general verbs handling Mike Marciniszyn
2015-07-30 19:21 ` [PATCH v4 48/50] IB/hfi1: add multicast routines Mike Marciniszyn
2015-07-30 19:22 ` [PATCH v4 49/50] IB/hfi1: add driver make/config files Mike Marciniszyn
2015-07-30 19:22 ` [PATCH v4 50/50] IB/core: Add opa driver to kbuild Mike Marciniszyn
2015-07-30 20:37 ` [PATCH v4 00/50] Add OPA gen1 driver Christoph Lameter
[not found] ` <alpine.DEB.2.11.1507301535340.6551-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-07-30 21:52 ` ira.weiny
2015-07-30 23:05 ` Or Gerlitz
[not found] ` <CAJ3xEMha-BKEkTRq5qUE8tt5MOpohRvrjY7_wW2u-ApayZZFpQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-31 7:34 ` Christoph Hellwig
[not found] ` <20150731073420.GB2485-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-08-01 20:34 ` Doug Ledford
[not found] ` <55BD2D57.8030107-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-08-01 21:40 ` Or Gerlitz
2015-08-03 15:29 ` Christoph Hellwig
2015-08-04 14:17 ` Amir Vadai
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=20150731082207.GT17109@ZenIV.linux.org.uk \
--to=viro-3bdd1+5odreifsdqtta3olvcufugdwfn@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mike.marciniszyn-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;
as well as URLs for NNTP newsgroup(s).