Am 21.10.22 um 12:42 schrieb Pavel Begunkov:
On 10/21/22 11:27, Stefan Metzmacher wrote:
Hi Pavel,
Some sockets don't care about msghdr::ubuf_info and would execute the
request by copying data. Such fallback behaviour was always a pain in
my experience, so we'd rather want to fail such requests and have a more
robust api in the future.
Mark struct socket that support it with a new SOCK_SUPPORT_ZC flag.
I'm not entirely sure it's the best place for the flag but at least
we don't have to do a bunch of extra dereferences in the hot path.
I'd give the flag another name that indicates msg_ubuf and
Could be renamed, e.g. SOCK_SUPPORT_MSGHDR_UBUF
That's good or SOCK_SUPPORT_ZC_MSGHDR_UBUF.
have a 2nd flag that can indicate support for SO_ZEROCOPY in sk_setsockopt()
There is absolutely no reason to introduce a second flag here, it has
nothing to do with SO_ZEROCOPY.
I meant as a separate change to replace the hard coded logic in
sk_setsockopt()... But I don't care much about it, it's unlikely
that I ever want to use SO_ZEROCOPY...
metze