summaryrefslogtreecommitdiff
path: root/include/net/tcp.h
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2017-10-05 22:21:22 -0700
committerDavid S. Miller <davem@davemloft.net>2017-10-07 00:28:53 +0100
commitac3f09ba3e496bd7cc780ead05b1d1bb5f33aedb (patch)
tree8018874a297838e64f76df8b33a40dc1aeb923e0 /include/net/tcp.h
parent18a4c0eab2623cc95be98a1e6af1ad18e7695977 (diff)
tcp: uninline tcp_write_queue_purge()
Since the upcoming rtx rbtree will add some extra code, it is time to not inline this fat function anymore. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tcp.h')
-rw-r--r--include/net/tcp.h15
1 files changed, 1 insertions, 14 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 3b16f353b539..744559b72784 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1606,20 +1606,7 @@ static inline void tcp_skb_tsorted_anchor_cleanup(struct sk_buff *skb)
skb->_skb_refdst = _save; \
}
-/* write queue abstraction */
-static inline void tcp_write_queue_purge(struct sock *sk)
-{
- struct sk_buff *skb;
-
- tcp_chrono_stop(sk, TCP_CHRONO_BUSY);
- while ((skb = __skb_dequeue(&sk->sk_write_queue)) != NULL) {
- tcp_skb_tsorted_anchor_cleanup(skb);
- sk_wmem_free_skb(sk, skb);
- }
- INIT_LIST_HEAD(&tcp_sk(sk)->tsorted_sent_queue);
- sk_mem_reclaim(sk);
- tcp_clear_all_retrans_hints(tcp_sk(sk));
-}
+void tcp_write_queue_purge(struct sock *sk);
static inline struct sk_buff *tcp_write_queue_head(const struct sock *sk)
{