transferring bvecs over the network in drbd
Christoph Hellwig
hch at infradead.org
Thu May 8 12:06:53 CEST 2025
On Thu, May 08, 2025 at 10:39:56AM +0200, Lars Ellenberg wrote:
> For async replication, we want to actually copy data into send buffer,
> we cannot have the network stack hold a reference to a page for which
> we signalled io completion already.
>
> For sync replication we want to avoid additional data copy if possible,
> so try to use "zero copy sendpage".
I didn't even complain about having both variants :)
>
> That's why we have two variants of what looks to be the same thing.
>
> Why we do it that way: probably when we wrote that part,
> a better infrastructure was not available, or we were not aware of it.
Yes. While the iov_iter and the bvec version of have been around
for a long time, drbd probably still predates them.
> Thanks for the pointers, we'll look into it.
> Using more efficient ways to do stuff sounds good.
thanks. Note that now that ->sendpage has been replaced with the
MSG_SPLICE_PAGES flag you can actually share most code for both
variants as well.
More information about the drbd-dev
mailing list