Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx> wrote: > struct bio_vec bvec; > struct msghdr msg = { .msg_flags = MSG_SPLICE_PAGES | ... }; > > .. > > bvec_set_virt > iov_iter_bvec > sock_sendmsg > > is a frequent pattern. Does it make sense to define a wrapper? Same for bvec_set_page. I dunno. I'm trying to move towards aggregating multiple pages in a bvec before calling sendmsg if possible rather than doing it one page at a time, but it's easier and more obvious in some places than others. David