diff options
-rw-r--r-- | include/linux/tcp.h | 11 | ||||
-rw-r--r-- | net/ipv4/tcp_output.c | 16 |
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 | ||
367 | enum tsq_flags { | 367 | enum 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 | ||
378 | enum 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 | |||
378 | static inline struct tcp_sock *tcp_sk(const struct sock *sk) | 387 | static 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 | } |