On Thu, Jul 22, 2021 at 02:02:51PM +0300, Boris Pismenny wrote:
From: Boris Pismenny <redacted>
When using direct data placement (DDP) the NIC writes some of the payload
directly to the destination buffer, and constructs SKBs such that they
point to this data. To skip copies when SKB data already resides in the
destination we use the newly introduced routines in this commit, which
check if (src == dst), and skip the copy when that's true.
As the current user for these routines is in the block layer (nvme-tcp),
then we only apply the change for bio_vec. Other routines use the normal
methods for copying.
Please, take a look at -rc1 and see the changes in lib/iov_iter.c in there.