Message ID | 7366e668-7083-4924-af43-5d5ba66fb76a@kernel.dk (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | io_uring/net: drop unused 'fast_iov_one' entry | expand |
On Tue, Mar 19, 2024 at 11:37 PM Jens Axboe <axboe@kernel.dk> wrote: > > Doesn't really matter at this point, as the fast_iov entries dominate > the size of io_async_msghdr. But that may not always be the case, so > drop this unused member. It turns out it got added in a previous commit, > but never actually used for anything. > > Fixes: 9bb66906f23e ("io_uring: support multishot in recvmsg") > Signed-off-by: Jens Axboe <axboe@kernel.dk> > > --- > > diff --git a/io_uring/net.h b/io_uring/net.h > index 191009979bcb..9d7962f65f26 100644 > --- a/io_uring/net.h > +++ b/io_uring/net.h > @@ -10,7 +10,6 @@ struct io_async_msghdr { > union { > struct iovec fast_iov[UIO_FASTIOV]; > struct { > - struct iovec fast_iov_one; > __kernel_size_t controllen; > int namelen; > __kernel_size_t payloadlen; > I "believe" this is used in the async paths, where fast_iov[0] gets used (since multishot always has exactly one iovec) and so fast_iov_one is just a placeholder. I think that means it's not safe to remove until after your async patches. Although I haven't verified this by testing. Dylan
On 3/20/24 7:59 AM, Dylan Yudaken wrote: > On Tue, Mar 19, 2024 at 11:37?PM Jens Axboe <axboe@kernel.dk> wrote: >> >> Doesn't really matter at this point, as the fast_iov entries dominate >> the size of io_async_msghdr. But that may not always be the case, so >> drop this unused member. It turns out it got added in a previous commit, >> but never actually used for anything. >> >> Fixes: 9bb66906f23e ("io_uring: support multishot in recvmsg") >> Signed-off-by: Jens Axboe <axboe@kernel.dk> >> >> --- >> >> diff --git a/io_uring/net.h b/io_uring/net.h >> index 191009979bcb..9d7962f65f26 100644 >> --- a/io_uring/net.h >> +++ b/io_uring/net.h >> @@ -10,7 +10,6 @@ struct io_async_msghdr { >> union { >> struct iovec fast_iov[UIO_FASTIOV]; >> struct { >> - struct iovec fast_iov_one; >> __kernel_size_t controllen; >> int namelen; >> __kernel_size_t payloadlen; >> > > I "believe" this is used in the async paths, where fast_iov[0] gets > used (since multishot always has exactly one iovec) and so > fast_iov_one is just a placeholder. > I think that means it's not safe to remove until after your async patches. Oh that's nasty, no comment about that, nor any direct use of it. Poor shame on whoever wrote that code :-) I'll double check.
diff --git a/io_uring/net.h b/io_uring/net.h index 191009979bcb..9d7962f65f26 100644 --- a/io_uring/net.h +++ b/io_uring/net.h @@ -10,7 +10,6 @@ struct io_async_msghdr { union { struct iovec fast_iov[UIO_FASTIOV]; struct { - struct iovec fast_iov_one; __kernel_size_t controllen; int namelen; __kernel_size_t payloadlen;
Doesn't really matter at this point, as the fast_iov entries dominate the size of io_async_msghdr. But that may not always be the case, so drop this unused member. It turns out it got added in a previous commit, but never actually used for anything. Fixes: 9bb66906f23e ("io_uring: support multishot in recvmsg") Signed-off-by: Jens Axboe <axboe@kernel.dk> ---