]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'shrink-struct-ubuf_info'
authorJakub Kicinski <kuba@kernel.org>
Thu, 29 Sep 2022 01:51:27 +0000 (18:51 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 29 Sep 2022 01:51:28 +0000 (18:51 -0700)
commit578b054684e6ad46f6089b726c05054fc5e3cd74
treeb14a20279c36ca9fac082210cf5419e057075337
parent929a6cdfaeac9de6a1004eb18999e1439527cfb4
parente7d2b510165fff6bedc9cca88c071ad846850c74
Merge branch 'shrink-struct-ubuf_info'

Pavel Begunkov says:

====================
shrink struct ubuf_info

struct ubuf_info is large but not all fields are needed for all
cases. We have limited space in io_uring for it and large ubuf_info
prevents some struct embedding, even though we use only a subset
of the fields. It's also not very clean trying to use this typeless
extra space.

Shrink struct ubuf_info to only necessary fields used in generic paths,
namely ->callback, ->refcnt and ->flags, which take only 16 bytes. And
make MSG_ZEROCOPY and some other users to embed it into a larger struct
ubuf_info_msgzc mimicking the former ubuf_info.

Note, xen/vhost may also have some cleaning on top by creating
new structs containing ubuf_info but with proper types.
====================

Link: https://lore.kernel.org/r/cover.1663892211.git.asml.silence@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>