linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: "Marciniszyn,
	Mike" <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: "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: Thu, 30 Jul 2015 18:10:41 -0400	[thread overview]
Message-ID: <55BAA0E1.7000402@redhat.com> (raw)
In-Reply-To: <32E1700B9017364D9B60AED9960492BC2577809D-RjuIdWtd+YbTXloPLtfHfbfspsVTdybXVpNB7YpNyf8@public.gmane.org>

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

On 07/30/2015 06:00 PM, Marciniszyn, Mike wrote:
>> On 07/30/2015 04:01 PM, Marciniszyn, Mike wrote:
>>>>
>>>> I thought you were getting rid of this?
>>>>
>>>> Jason
>>>
>>> Doug wanted the v4 submitted as we currently have it.
>>
>> To be accurate, I said "If you want a chance at making 4.3, I need a v4".  I
>> didn't comment on whether or not any specific review comments were
>> addressed.
>>
>>> Doug?
>>
>> 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?  It's not a normal file in *any*
>> sense of the word.  For example, the normal write routine will never, ever
>> accept just plain data.  It's always in the form of a command.  If you don't
>> have the right magic decoder ring, you will get nothing but errors when
>> trying to do something with this file.
>>  Much like /dev/infiniband/uverbs? files, it is a command interface, not a
>> raw data interface.  I actually think the fact that you guys use write for a
>> single command and writev/write_iter for a command queue is an elegant
>> solution to your particular needs.  The only reason Al threw a hissy over it is
>> because it tripped him up when he went to do the conversion from writev to
>> write_iter.  That's understandable.  So, some clear documentation so
>> someone like Al doesn't have to go reading through sources and try to figure
>> out what you are doing would be the generally nice thing to do for other
>> kernel generalists that might come poking around this way.  Or, 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.  Regardless, those things can be
>> cleaned up in follow on patches, please do not resubmit this set for that.
>>
> 
> Jason,
> 
> I did ask you in http://marc.info/?l=linux-rdma&m=143707462806767&w=2 if you thought ioctl was ok.
> 
> Hearing nothing, we left the interface as it was.

I think the interface is fine as is, with the only thing I would do, if
*really* forced to by Al, would be to do as I suggested above and
convert all of the write cases to writev with a single element.

> I suspect (I lack the early history) that the ioctl BKL might have forced both uverbs and PSM to go this route.

An ioctl interface is not really designed for a queue of commands to be
sent in a single operation any more than any other interface is.  I
don't personally see a great benefit to it.

> 
> Doug,
> 
> Where would be the appropriate location to document?  In the source itself?  Somewhere else?

At the function for both write and writev (and a patch to update to
write_iter would be a good next step to keep us in line with qib),
document how each is used and point to the other one and point out that
they differ in their basic usage.  If Al had a clear comment saying "our
write function is used to pass a single command to our driver, and our
writev function is used to pass a queue of formatted commands, one per
element", he might have not written what he did in his commit message.


-- 
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-30 22:10 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 [this message]
     [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
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=55BAA0E1.7000402@redhat.com \
    --to=dledford-h+wxahxf7alqt0dzr+alfa@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).