summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/tcp.h11
-rw-r--r--net/ipv4/tcp_output.c16
2 files changed, 18 insertions, 9 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index 734bab4c3bef..d8be083ab0b0 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -364,7 +364,7 @@ struct tcp_sock {
364 u32 *saved_syn; 364 u32 *saved_syn;
365}; 365};
366 366
367enum tsq_flags { 367enum tsq_enum {
368 TSQ_THROTTLED, 368 TSQ_THROTTLED,
369 TSQ_QUEUED, 369 TSQ_QUEUED,
370 TCP_TSQ_DEFERRED, /* tcp_tasklet_func() found socket was owned */ 370 TCP_TSQ_DEFERRED, /* tcp_tasklet_func() found socket was owned */
@@ -375,6 +375,15 @@ enum tsq_flags {
375 */ 375 */
376}; 376};
377 377
378enum tsq_flags {
379 TSQF_THROTTLED = (1UL << TSQ_THROTTLED),
380 TSQF_QUEUED = (1UL << TSQ_QUEUED),
381 TCPF_TSQ_DEFERRED = (1UL << TCP_TSQ_DEFERRED),
382 TCPF_WRITE_TIMER_DEFERRED = (1UL << TCP_WRITE_TIMER_DEFERRED),
383 TCPF_DELACK_TIMER_DEFERRED = (1UL << TCP_DELACK_TIMER_DEFERRED),
384 TCPF_MTU_REDUCED_DEFERRED = (1UL << TCP_MTU_REDUCED_DEFERRED),
385};
386
378static inline struct tcp_sock *tcp_sk(const struct sock *sk) 387static inline struct tcp_sock *tcp_sk(const struct sock *sk)
379{ 388{
380 return (struct tcp_sock *)sk; 389 return (struct tcp_sock *)sk;
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index c7adcb57654e..8f0289b0fb24 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -784,10 +784,10 @@ static void tcp_tasklet_func(unsigned long data)
784 } 784 }
785} 785}
786 786
787#define TCP_DEFERRED_ALL ((1UL << TCP_TSQ_DEFERRED) | \ 787#define TCP_DEFERRED_ALL (TCPF_TSQ_DEFERRED | \
788 (1UL << TCP_WRITE_TIMER_DEFERRED) | \ 788 TCPF_WRITE_TIMER_DEFERRED | \
789 (1UL << TCP_DELACK_TIMER_DEFERRED) | \ 789 TCPF_DELACK_TIMER_DEFERRED | \
790 (1UL << TCP_MTU_REDUCED_DEFERRED)) 790 TCPF_MTU_REDUCED_DEFERRED)
791/** 791/**
792 * tcp_release_cb - tcp release_sock() callback 792 * tcp_release_cb - tcp release_sock() callback
793 * @sk: socket 793 * @sk: socket
@@ -808,7 +808,7 @@ void tcp_release_cb(struct sock *sk)
808 nflags = flags & ~TCP_DEFERRED_ALL; 808 nflags = flags & ~TCP_DEFERRED_ALL;
809 } while (cmpxchg(&tp->tsq_flags, flags, nflags) != flags); 809 } while (cmpxchg(&tp->tsq_flags, flags, nflags) != flags);
810 810
811 if (flags & (1UL << TCP_TSQ_DEFERRED)) 811 if (flags & TCPF_TSQ_DEFERRED)
812 tcp_tsq_handler(sk); 812 tcp_tsq_handler(sk);
813 813
814 /* Here begins the tricky part : 814 /* Here begins the tricky part :
@@ -822,15 +822,15 @@ void tcp_release_cb(struct sock *sk)
822 */ 822 */
823 sock_release_ownership(sk); 823 sock_release_ownership(sk);
824 824
825 if (flags & (1UL << TCP_WRITE_TIMER_DEFERRED)) { 825 if (flags & TCPF_WRITE_TIMER_DEFERRED) {
826 tcp_write_timer_handler(sk); 826 tcp_write_timer_handler(sk);
827 __sock_put(sk); 827 __sock_put(sk);
828 } 828 }
829 if (flags & (1UL << TCP_DELACK_TIMER_DEFERRED)) { 829 if (flags & TCPF_DELACK_TIMER_DEFERRED) {
830 tcp_delack_timer_handler(sk); 830 tcp_delack_timer_handler(sk);
831 __sock_put(sk); 831 __sock_put(sk);
832 } 832 }
833 if (flags & (1UL << TCP_MTU_REDUCED_DEFERRED)) { 833 if (flags & TCPF_MTU_REDUCED_DEFERRED) {
834 inet_csk(sk)->icsk_af_ops->mtu_reduced(sk); 834 inet_csk(sk)->icsk_af_ops->mtu_reduced(sk);
835 __sock_put(sk); 835 __sock_put(sk);
836 } 836 }