All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Lemon <jonathan.lemon@gmail.com>
To: <netdev@vger.kernel.org>, <edumazet@google.com>,
	<willemdebruijn.kernel@gmail.com>
Cc: <kernel-team@fb.com>
Subject: [PATCH 05/12 v2 RFC] skbuff: replace sock_zerocopy_put() with skb_zcopy_put()
Date: Mon, 21 Dec 2020 16:09:19 -0800	[thread overview]
Message-ID: <20201222000926.1054993-6-jonathan.lemon@gmail.com> (raw)
In-Reply-To: <20201222000926.1054993-1-jonathan.lemon@gmail.com>

From: Jonathan Lemon <bsd@fb.com>

Replace sock_zerocopy_put with the generic skb_zcopy_put()
function.  Pass 'true' as the success argument, as this
is identical to no change.

Signed-off-by: Jonathan Lemon <jonathan.lemon@gmail.com>
---
 include/linux/skbuff.h | 7 ++++++-
 net/core/skbuff.c      | 9 +--------
 net/ipv4/tcp.c         | 2 +-
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index c9d7de9d624d..238166b522f7 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -499,7 +499,6 @@ static inline void sock_zerocopy_get(struct ubuf_info *uarg)
 	refcount_inc(&uarg->refcnt);
 }
 
-void sock_zerocopy_put(struct ubuf_info *uarg);
 void sock_zerocopy_put_abort(struct ubuf_info *uarg, bool have_uref);
 
 void sock_zerocopy_callback(struct ubuf_info *uarg, bool success);
@@ -1474,6 +1473,12 @@ static inline void *skb_zcopy_get_nouarg(struct sk_buff *skb)
 	return (void *)((uintptr_t) skb_shinfo(skb)->destructor_arg & ~0x1UL);
 }
 
+static inline void skb_zcopy_put(struct ubuf_info *uarg)
+{
+	if (uarg)
+		uarg->callback(uarg, true);
+}
+
 /* Release a reference on a zerocopy structure */
 static inline void skb_zcopy_clear(struct sk_buff *skb, bool zerocopy)
 {
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 73699dbdc4a1..984760dd670b 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1251,13 +1251,6 @@ void sock_zerocopy_callback(struct ubuf_info *uarg, bool success)
 }
 EXPORT_SYMBOL_GPL(sock_zerocopy_callback);
 
-void sock_zerocopy_put(struct ubuf_info *uarg)
-{
-	if (uarg)
-		uarg->callback(uarg, uarg->zerocopy);
-}
-EXPORT_SYMBOL_GPL(sock_zerocopy_put);
-
 void sock_zerocopy_put_abort(struct ubuf_info *uarg, bool have_uref)
 {
 	if (uarg) {
@@ -1267,7 +1260,7 @@ void sock_zerocopy_put_abort(struct ubuf_info *uarg, bool have_uref)
 		uarg->len--;
 
 		if (have_uref)
-			sock_zerocopy_put(uarg);
+			skb_zcopy_put(uarg);
 	}
 }
 EXPORT_SYMBOL_GPL(sock_zerocopy_put_abort);
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index fea9bae370e4..5c38080df13f 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1429,7 +1429,7 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 		tcp_push(sk, flags, mss_now, tp->nonagle, size_goal);
 	}
 out_nopush:
-	sock_zerocopy_put(uarg);
+	skb_zcopy_put(uarg);
 	return copied + copied_syn;
 
 do_error:
-- 
2.24.1


  parent reply	other threads:[~2020-12-22  0:10 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-22  0:09 [PATCH 00/12 v2 RFC] Generic zcopy_* functions Jonathan Lemon
2020-12-22  0:09 ` [PATCH 01/12 v2 RFC] net: group skb_shinfo zerocopy related bits together Jonathan Lemon
2020-12-22 14:43   ` Willem de Bruijn
2020-12-22 17:21     ` Jonathan Lemon
2020-12-22 22:26       ` Willem de Bruijn
2020-12-22 22:40         ` Jonathan Lemon
2020-12-22 22:56           ` Willem de Bruijn
2020-12-22  0:09 ` [PATCH 02/12 v2 RFC] skbuff: remove unused skb_zcopy_abort function Jonathan Lemon
2020-12-22 15:00   ` Willem de Bruijn
2020-12-22  0:09 ` [PATCH 03/12 v2 RFC] skbuff: simplify sock_zerocopy_put Jonathan Lemon
2020-12-22 14:43   ` Willem de Bruijn
2020-12-22 16:52   ` David Ahern
2020-12-22 16:56     ` David Ahern
2020-12-22  0:09 ` [PATCH 04/12 v2 RFC] skbuff: Push status and refcounts into sock_zerocopy_callback Jonathan Lemon
2020-12-22 14:43   ` Willem de Bruijn
2020-12-22 16:49     ` David Ahern
2020-12-22 17:48     ` Jonathan Lemon
2020-12-22 22:38       ` Willem de Bruijn
2020-12-22  0:09 ` Jonathan Lemon [this message]
2020-12-22 14:42   ` [PATCH 05/12 v2 RFC] skbuff: replace sock_zerocopy_put() with skb_zcopy_put() Willem de Bruijn
2020-12-22 17:19     ` Jonathan Lemon
2020-12-22 22:36       ` Willem de Bruijn
2020-12-22  0:09 ` [PATCH 06/12 v2 RFC] skbuff: replace sock_zerocopy_get with skb_zcopy_get Jonathan Lemon
2020-12-22  0:09 ` [PATCH 07/12 v2 RFC] skbuff: Add skb parameter to the ubuf zerocopy callback Jonathan Lemon
2020-12-22  0:09 ` [PATCH 08/12 v2 RFC] skbuff: Call sock_zerocopy_put_abort from skb_zcopy_put_abort Jonathan Lemon
2020-12-22  0:09 ` [PATCH 09/12 v2 RFC] skbuff: add zc_flags to ubuf_info for ubuf setup Jonathan Lemon
2020-12-22 15:00   ` Willem de Bruijn
2020-12-22 18:17     ` Jonathan Lemon
2020-12-22 18:29       ` Willem de Bruijn
2020-12-22  0:09 ` [PATCH 10/12 v2 RFC] tap/tun: use skb_zcopy_set() instead of open coded assignment Jonathan Lemon
2020-12-22  0:09 ` [PATCH 11/12 v2 RFC] skbuff: Call skb_zcopy_clear() before unref'ing fragments Jonathan Lemon
2020-12-22  0:09 ` [PATCH 12/12 v2 RFC] skbuff: rename sock_zerocopy_* to msg_zerocopy_* Jonathan Lemon
2020-12-22 14:55   ` Willem de Bruijn

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=20201222000926.1054993-6-jonathan.lemon@gmail.com \
    --to=jonathan.lemon@gmail.com \
    --cc=edumazet@google.com \
    --cc=kernel-team@fb.com \
    --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.