[PATCH v5 net-next 02/36] iov_iter: DDP copy to iter/pages

Or Gerlitz gerlitz.or at gmail.com
Tue Aug 10 06:29:36 PDT 2021


On Wed, Aug 4, 2021 at 5:13 PM Or Gerlitz <gerlitz.or at gmail.com> wrote:
> On Fri, Jul 23, 2021 at 8:30 AM Al Viro <viro at zeniv.linux.org.uk> wrote:
> > On Fri, Jul 23, 2021 at 07:03:02AM +0200, Christoph Hellwig wrote:
> > > On Thu, Jul 22, 2021 at 11:23:38PM +0300, Boris Pismenny wrote:
>
> >>> This routine, like other changes in this file, replicates the logic in
> >>> memcpy_to_page. The only difference is that "ddp" avoids copies when the
> >>> copy source and destinations buffers are one and the same.
>
> >> Now why can't we just make that change to the generic routine?
>
> > Doable... replace memcpy(base, addr + off, len) with
> >         base != addr + off && memcpy(base, addr + off, len)
> > in _copy_to_iter() and be done with that...
>
> Guys,
>
> AFAIR we did the adding ddp_ prefix exercise to the copy functions call chain
>
> ddp_hash_and_copy_to_iter
> -> ddp_copy_to_iter
> -> _ddp_copy_to_iter
> -> ddp_memcpy_to_page
>
> to address feedback given on earlier versions of the series. So let's
> decide please.. are we all set to remove the ddp_ prefixed calls and just
> plant the new check (plus a nice comment!) as Al suggested?

So we are okay going for the minimal approach / direction suggested by
Al of adding a (base != addr + offset) check before the memcpy call.

This will also simplify the changes to the nvme-tcp driver.  Please
speak if you want the ddp_ prefix approach to remain.

Or.

> re the comments given on ddp_memcpy_to_page, upstream move
> to just call memcpy, so we need not have it anyway, will be fixed in v6
> if we remain with ddp_ call chain or becomes irrelevant if we drop it.



More information about the Linux-nvme mailing list