[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1663892211.git.asml.silence@gmail.com>
Date: Fri, 23 Sep 2022 17:39:00 +0100
From: Pavel Begunkov <asml.silence@...il.com>
To: netdev@...r.kernel.org
Cc: "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, linux-kernel@...r.kernel.org,
xen-devel@...ts.xenproject.org, Wei Liu <wei.liu@...nel.org>,
Paul Durrant <paul@....org>, kvm@...r.kernel.org,
virtualization@...ts.linux-foundation.org,
"Michael S . Tsirkin" <mst@...hat.com>,
Jason Wang <jasowang@...hat.com>,
Pavel Begunkov <asml.silence@...il.com>
Subject: [PATCH net-next 0/4] 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.
Pavel Begunkov (4):
net: introduce struct ubuf_info_msgzc
xen/netback: use struct ubuf_info_msgzc
vhost/net: use struct ubuf_info_msgzc
net: shrink struct ubuf_info
drivers/net/xen-netback/common.h | 2 +-
drivers/net/xen-netback/interface.c | 4 +--
drivers/net/xen-netback/netback.c | 7 +++---
drivers/vhost/net.c | 15 ++++++------
include/linux/skbuff.h | 11 +++++++--
net/core/skbuff.c | 38 ++++++++++++++++-------------
net/ipv4/ip_output.c | 2 +-
net/ipv4/tcp.c | 2 +-
net/ipv6/ip6_output.c | 2 +-
9 files changed, 48 insertions(+), 35 deletions(-)
--
2.37.2
Powered by blists - more mailing lists