[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJ3xEMiNU5_+hcbzgXP6n-muE2790iT19BO6R7A2c0CeMu4Uuw@mail.gmail.com>
Date: Tue, 10 Aug 2021 16:29:36 +0300
From: Or Gerlitz <gerlitz.or@...il.com>
To: Al Viro <viro@...iv.linux.org.uk>, Christoph Hellwig <hch@....de>,
Sagi Grimberg <sagi@...mberg.me>
Cc: Boris Pismenny <borispismenny@...il.com>,
Boris Pismenny <borisp@...dia.com>,
David Ahern <dsahern@...il.com>,
Jakub Kicinski <kuba@...nel.org>,
David Miller <davem@...emloft.net>,
Saeed Mahameed <saeedm@...dia.com>, axboe@...com,
Keith Busch <kbusch@...nel.org>,
Eric Dumazet <edumazet@...gle.com>,
Shai Malin <smalin@...vell.com>, boris.pismenny@...il.com,
linux-nvme@...ts.infradead.org,
Linux Netdev List <netdev@...r.kernel.org>,
benishay@...dia.com, Or Gerlitz <ogerlitz@...dia.com>,
Yoray Zack <yorayz@...dia.com>,
Ben Ben-Ishay <benishay@...lanox.com>
Subject: Re: [PATCH v5 net-next 02/36] iov_iter: DDP copy to iter/pages
On Wed, Aug 4, 2021 at 5:13 PM Or Gerlitz <gerlitz.or@...il.com> wrote:
> On Fri, Jul 23, 2021 at 8:30 AM Al Viro <viro@...iv.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.
Powered by blists - more mailing lists