Ilya Dryomov [off-list ref] wrote:
quoted
Btw, is it feasible to use con->v2.out_iter_sendpage to apply
MSG_SPLICE_PAGES to the iterator to be transmitted as a whole? It seems
to be set depending on iterator type.
I'm not sure I understand what you mean by "transmitted as a whole".
con->v2.out_iter_sendpage is set only when zerocopy is desired. If the
underlying data is not guaranteed to remain stable, zerocopy behavior
is not safe.
I think I need to reinstate the per-page sendpage_ok() check here also -
though Al pointed out it isn't sufficiently exhaustive. There are pages that
sendpage_ok() will return true on that you shouldn't be passing to sendpage().
I'll whip up a patch to partially revert this also.
David