All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@kernel.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: "Margolin, Michael" <mrgolin@amazon.com>,
	linux-rdma@vger.kernel.org, sleybo@amazon.com, matua@amazon.com,
	gal.pressman@linux.dev, Firas Jahjah <firasj@amazon.com>,
	Yonatan Nachum <ynachum@amazon.com>
Subject: Re: [PATCH for-next] RDMA/core: Fix best page size finding when it can cross SG entries
Date: Fri, 14 Feb 2025 07:55:11 +0200	[thread overview]
Message-ID: <20250214055511.GQ17863@unreal> (raw)
In-Reply-To: <20250213181242.GF3885104@nvidia.com>

On Thu, Feb 13, 2025 at 02:12:42PM -0400, Jason Gunthorpe wrote:
> On Thu, Feb 13, 2025 at 07:55:17PM +0200, Leon Romanovsky wrote:
> > On Thu, Feb 13, 2025 at 01:40:43PM -0400, Jason Gunthorpe wrote:
> > > On Thu, Feb 13, 2025 at 07:35:10PM +0200, Leon Romanovsky wrote:
> > >  
> > > > Initially curr_base is 0xFF.....FF and curr_len is 0.
> > > 
> > > curr base can't be so unaligned can it?
> > 
> > It is only for first iteration where it is compared with
> > sg_dma_address(), immediately after that it is overwritten.
> 
> But this is all working with inherently page aligned stuff, cur_base +
> len1 + len2 + len3 + len_n should be page aligned for interior segments..
> 
> > > > So if this "if ..." is skipped (not possible but static checkers don't know),
> > > > we will advance curr_len and curr_base + curr_len will overflow.
> > > > 
> > > > I don't want to take original patch.
> > > 
> > > Subtracting is no better, it will just randomly fail for low dma addrs
> > > instead of high.
> > 
> > Aren't sg_dma_address placed in increasing order?
> 
> Not necessarily, dma direct produces something random
> 
> > If not, whole if loop is not correct.
> 
> The point is to detect cases where they happen to be in order because
> they were split up due to the 32 bit limit in the sgl.

There is no promise that this split will create consecutive SG entries
and iterator will fetch them in that order too.

This discussion leads me to the understanding that we need to drop the patch.

Thanks

> 
> Jason

  reply	other threads:[~2025-02-14  5:55 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-09 14:26 [PATCH for-next] RDMA/core: Fix best page size finding when it can cross SG entries Michael Margolin
2025-02-13 12:51 ` Leon Romanovsky
2025-02-13 14:04   ` Jason Gunthorpe
2025-02-13 14:30     ` Margolin, Michael
2025-02-13 14:42       ` Jason Gunthorpe
2025-02-13 17:25         ` Margolin, Michael
2025-02-13 17:35         ` Leon Romanovsky
2025-02-13 17:40           ` Jason Gunthorpe
2025-02-13 17:55             ` Leon Romanovsky
2025-02-13 18:12               ` Jason Gunthorpe
2025-02-14  5:55                 ` Leon Romanovsky [this message]
2025-02-14 15:33                   ` Jason Gunthorpe
2025-02-16  8:07                 ` Leon Romanovsky
2025-02-17  8:40                   ` Margolin, Michael
2025-02-13 12:53 ` Leon Romanovsky
2025-02-14  6:57   ` 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=20250214055511.GQ17863@unreal \
    --to=leon@kernel.org \
    --cc=firasj@amazon.com \
    --cc=gal.pressman@linux.dev \
    --cc=jgg@nvidia.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=matua@amazon.com \
    --cc=mrgolin@amazon.com \
    --cc=sleybo@amazon.com \
    --cc=ynachum@amazon.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.