From: Jonathan Lemon <jonathan.lemon@gmail.com>
To: <netdev@vger.kernel.org>, <davem@davemloft.net>,
<kuba@kernel.org>, <willemdebruijn.kernel@gmail.com>,
<edumazet@google.com>, <dsahern@gmail.com>
Cc: <kernel-team@fb.com>
Subject: [PATCH net-next v1 00/13] Generic zcopy_* functions
Date: Tue, 5 Jan 2021 14:06:53 -0800 [thread overview]
Message-ID: <20210105220706.998374-1-jonathan.lemon@gmail.com> (raw)
From: Jonathan Lemon <bsd@fb.com>
This is set of cleanup patches for zerocopy which are intended
to allow a introduction of a different zerocopy implementation.
The top level API will use the skb_zcopy_*() functions, while
the current TCP specific zerocopy ends up using msg_zerocopy_*()
calls.
There should be no functional changes from these patches.
Patch 1: remove dead function
Patch 2: simplify sock_zerocopy_put
Patch 3: push status/refcounts into sock_zerocopy_callback
Patch 4: replace sock_zerocopy_put with skb_zcopy_put
Patch 5: rename sock_zerocopy_get
Patch 6:
Add an optional skb parameter to callback, allowing access to
the attached skb from the callback.
Patch 7:
Add skb_zcopy_put_abort, and move zerocopy logic into the
callback function. There unfortunately is still a check
against the callback type here.
Patch 8: Relocate skb_zcopy_clear() in skb_release_data()
Patch 9: rename sock_zerocopy_ to msg_zerocopy_
Patch 10:
Move zerocopy bits from tx_flags into flags for clarity.
These bits will be used in the RX path in the future.
Patch 11:
Set the skb flags from the ubuf being attached, instead
of a fixed value, allowing different initialization types.
Patch 12: Replace open-coded assignments with skb_zcopy_init()
Patch 13: Rename skb_zcopy_{get|put} to net_zcopy_{get|put}
Jonathan Lemon (13):
skbuff: remove unused skb_zcopy_abort function
skbuff: simplify sock_zerocopy_put
skbuff: Push status and refcounts into sock_zerocopy_callback
skbuff: replace sock_zerocopy_put() with skb_zcopy_put()
skbuff: replace sock_zerocopy_get with skb_zcopy_get
skbuff: Add skb parameter to the ubuf zerocopy callback
skbuff: Call sock_zerocopy_put_abort from skb_zcopy_put_abort
skbuff: Call skb_zcopy_clear() before unref'ing fragments
skbuff: rename sock_zerocopy_* to msg_zerocopy_*
net: group skb_shinfo zerocopy related bits together.
skbuff: add flags to ubuf_info for ubuf setup
tap/tun: add skb_zcopy_init() helper for initialization.
skbuff: Rename skb_zcopy_{get|put} to net_zcopy_{get|put}
drivers/net/tap.c | 6 +-
drivers/net/tun.c | 6 +-
drivers/net/xen-netback/common.h | 3 +-
drivers/net/xen-netback/interface.c | 4 +-
drivers/net/xen-netback/netback.c | 5 +-
drivers/vhost/net.c | 4 +-
include/linux/skbuff.h | 106 +++++++++++++++-------------
net/core/skbuff.c | 65 ++++++++---------
net/ipv4/ip_output.c | 5 +-
net/ipv4/tcp.c | 8 +--
net/ipv6/ip6_output.c | 5 +-
net/kcm/kcmsock.c | 4 +-
12 files changed, 113 insertions(+), 108 deletions(-)
--
2.24.1
next reply other threads:[~2021-01-05 22:08 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-05 22:06 Jonathan Lemon [this message]
2021-01-05 22:06 ` [PATCH net-next v1 01/13] skbuff: remove unused skb_zcopy_abort function Jonathan Lemon
2021-01-05 22:06 ` [PATCH net-next v1 02/13] skbuff: simplify sock_zerocopy_put Jonathan Lemon
2021-01-05 22:06 ` [PATCH net-next v1 03/13] skbuff: Push status and refcounts into sock_zerocopy_callback Jonathan Lemon
2021-01-05 22:06 ` [PATCH net-next v1 04/13] skbuff: replace sock_zerocopy_put() with skb_zcopy_put() Jonathan Lemon
2021-01-05 22:06 ` [PATCH net-next v1 05/13] skbuff: replace sock_zerocopy_get with skb_zcopy_get Jonathan Lemon
2021-01-05 22:06 ` [PATCH net-next v1 06/13] skbuff: Add skb parameter to the ubuf zerocopy callback Jonathan Lemon
2021-01-05 22:07 ` [PATCH net-next v1 07/13] skbuff: Call sock_zerocopy_put_abort from skb_zcopy_put_abort Jonathan Lemon
2021-01-05 22:07 ` [PATCH net-next v1 08/13] skbuff: Call skb_zcopy_clear() before unref'ing fragments Jonathan Lemon
2021-01-05 22:07 ` [PATCH net-next v1 09/13] skbuff: rename sock_zerocopy_* to msg_zerocopy_* Jonathan Lemon
2021-01-05 22:07 ` [PATCH net-next v1 10/13] net: group skb_shinfo zerocopy related bits together Jonathan Lemon
2021-01-05 22:07 ` [PATCH net-next v1 11/13] skbuff: add flags to ubuf_info for ubuf setup Jonathan Lemon
2021-01-05 22:07 ` [PATCH net-next v1 12/13] tap/tun: add skb_zcopy_init() helper for initialization Jonathan Lemon
2021-01-05 22:07 ` [PATCH net-next v1 13/13] skbuff: Rename skb_zcopy_{get|put} to net_zcopy_{get|put} Jonathan Lemon
2021-01-05 23:11 ` [PATCH net-next v1 00/13] Generic zcopy_* functions Florian Fainelli
2021-01-05 23:40 ` Jonathan Lemon
2021-01-05 23:45 ` Florian Fainelli
2021-01-06 0:25 ` Jonathan Lemon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210105220706.998374-1-jonathan.lemon@gmail.com \
--to=jonathan.lemon@gmail.com \
--cc=davem@davemloft.net \
--cc=dsahern@gmail.com \
--cc=edumazet@google.com \
--cc=kernel-team@fb.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=willemdebruijn.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.