All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Maor Gottlieb <maorg@nvidia.com>, Christoph Hellwig <hch@lst.de>,
	Gal Pressman <galpress@amazon.com>,
	Bob Pearson <rpearsonhpe@gmail.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	linux-rdma@vger.kernel.org
Subject: Re: dynamic-sg patch has broken rdma_rxe
Date: Tue, 20 Oct 2020 14:09:23 +0100	[thread overview]
Message-ID: <3eb34c54-1d19-8a4e-f391-e422fbca587d@linux.intel.com> (raw)
In-Reply-To: <20201020125659.GD6219@nvidia.com>


On 20/10/2020 13:56, Jason Gunthorpe wrote:
> On Tue, Oct 20, 2020 at 01:31:27PM +0100, Tvrtko Ursulin wrote:
>>
>> On 20/10/2020 12:47, Jason Gunthorpe wrote:
>>> On Tue, Oct 20, 2020 at 12:37:05PM +0100, Tvrtko Ursulin wrote:
>>>
>>>>> Why put this confusing code in every caller? Especially for something
>>>>> a driver is supposed to call. Will just make bugs
>>>>
>>>> For max_segment to be aligned is a requirement today so callers are
>>>> ready.
>>>
>>> No, it turns out all the RDMA drivers were became broken when they
>>> converted to use the proper U32_MAX for their DMA max_segment size,
>>> then they couldn't form SGLs anymore.
>>>
>>> I don't want to see nonsense code like this:
>>>
>>>           dma_set_max_seg_size(dev->dev, min_t(unsigned int, U32_MAX & PAGE_MASK,
>>>                                                SCATTERLIST_MAX_SEGMENT));
>>>
>>> In drivers.
>>>
>>> dma_set_max_seg_size is the *hardware* capability, and mixing in
>>> things like PAG_MASK here is just nonsense.
>>
>> Code was obviously a no-op non-sense.
>>
>> So the crux of the argument is that U32_MAX is conceptually the right thing
>> which defines the DMA max_segment size? Not some DMA define or anything, but
>> really U32_MAX? And that all/some DMA hardware does not think in pages but
>> really in bytes?
> 
> Yes.
> 
> The HW has 32 bits for a length field, so U32_MAX accurately defines
> the HW DMA capability

Not just the max, but the granularity as well. If byte granularity (well 
less than PAGE_SIZE/4k) exists in some hw then I agree the API change 
makes sense.

Regards,

Tvrtko

  reply	other threads:[~2020-10-20 13:09 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-13 14:33 dynamic-sg patch has broken rdma_rxe Bob Pearson
2020-10-13 16:34 ` Bob Pearson
2020-10-14 22:51 ` Jason Gunthorpe
2020-10-15  7:44   ` Maor Gottlieb
2020-10-15 11:23     ` Gal Pressman
2020-10-15 12:21       ` Maor Gottlieb
2020-10-16  0:31         ` Jason Gunthorpe
2020-10-16  7:13           ` Christoph Hellwig
     [not found]           ` <796ca31aed8f469c957cb850385b9d09@intel.com>
2020-10-16 11:58             ` Jason Gunthorpe
2020-10-19  9:50               ` Tvrtko Ursulin
2020-10-19 12:12                 ` Jason Gunthorpe
2020-10-19 12:29                   ` Tvrtko Ursulin
2020-10-19 12:48                     ` Jason Gunthorpe
2020-10-20 11:37                       ` Tvrtko Ursulin
2020-10-20 11:47                         ` Jason Gunthorpe
2020-10-20 12:31                           ` Tvrtko Ursulin
2020-10-20 12:56                             ` Jason Gunthorpe
2020-10-20 13:09                               ` Tvrtko Ursulin [this message]
2020-10-20 13:32                                 ` Jason Gunthorpe
2020-10-15 15:35     ` Bob Pearson

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=3eb34c54-1d19-8a4e-f391-e422fbca587d@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --cc=galpress@amazon.com \
    --cc=hch@lst.de \
    --cc=jgg@nvidia.com \
    --cc=leonro@nvidia.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=maorg@nvidia.com \
    --cc=rpearsonhpe@gmail.com \
    /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.