All of lore.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Al Viro <viro-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>,
	Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: "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 10:19:25 -0400	[thread overview]
Message-ID: <55BB83ED.2010705@redhat.com> (raw)
In-Reply-To: <20150731082207.GT17109-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 3644 bytes --]

On 07/31/2015 04:22 AM, Al Viro wrote:
> 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.

Yes, admittedly I did think that the command sets were the same.
However, even with them not being the same, I still don't care.  This is
a private driver interface.  Nothing uses it but libpsm or libpsm2, both
of which are the mated user space libraries that implement the user side
of this interface.  It generally isn't intended for anyone else to use.
 If this were a public API, I would care.  It isn't.  All that *really*
matters here is that their kernel driver and user space library speak
the same language.

As for separate files, that presents its own issues, and for little to
no benefit.  Again, this isn't a public API.  It threw you for a loop
because it isn't what you expected.  But that hardly matters, you aren't
writing a user space application to work with the thing.  It is,
however, exactly what the existing library expects.

> 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()).

It sounds weird to someone who isn't used to it, but sounds perfectly
fine to someone used to it.  If this were a public API, I would care,
but this is Intel's private communication channel between their kernel
driver and their user space library.  I find it hard to justify telling
them they need to re-engineer both their kernel driver and their library
because a disinterested third party finds their particular means of
organizing their communications "weird".

> 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.
> 


-- 
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
              GPG KeyID: 0E572FDD



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]

  parent reply	other threads:[~2015-07-31 14:19 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
     [not found]                         ` <20150731082207.GT17109-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2015-07-31 14:19                           ` Doug Ledford [this message]
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=55BB83ED.2010705@redhat.com \
    --to=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 \
    --cc=viro-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@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.