123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- From 40fc3423b983b864bf70b03199191260ae9b2ea6 Mon Sep 17 00:00:00 2001
- From: Eric Dumazet <edumazet@google.com>
- Date: Sat, 3 Dec 2016 11:14:50 -0800
- Subject: [PATCH 01/10] tcp: tsq: add tsq_flags / tsq_enum
- This is a cleanup, to ease code review of following patches.
- Old 'enum tsq_flags' is renamed, and a new enumeration is added
- with the flags used in cmpxchg() operations as opposed to
- single bit operations.
- Signed-off-by: Eric Dumazet <edumazet@google.com>
- Signed-off-by: David S. Miller <davem@davemloft.net>
- ---
- include/linux/tcp.h | 11 ++++++++++-
- net/ipv4/tcp_output.c | 16 ++++++++--------
- 2 files changed, 18 insertions(+), 9 deletions(-)
- --- a/include/linux/tcp.h
- +++ b/include/linux/tcp.h
- @@ -368,7 +368,7 @@ struct tcp_sock {
- u32 *saved_syn;
- };
-
- -enum tsq_flags {
- +enum tsq_enum {
- TSQ_THROTTLED,
- TSQ_QUEUED,
- TCP_TSQ_DEFERRED, /* tcp_tasklet_func() found socket was owned */
- @@ -379,6 +379,15 @@ enum tsq_flags {
- */
- };
-
- +enum tsq_flags {
- + TSQF_THROTTLED = (1UL << TSQ_THROTTLED),
- + TSQF_QUEUED = (1UL << TSQ_QUEUED),
- + TCPF_TSQ_DEFERRED = (1UL << TCP_TSQ_DEFERRED),
- + TCPF_WRITE_TIMER_DEFERRED = (1UL << TCP_WRITE_TIMER_DEFERRED),
- + TCPF_DELACK_TIMER_DEFERRED = (1UL << TCP_DELACK_TIMER_DEFERRED),
- + TCPF_MTU_REDUCED_DEFERRED = (1UL << TCP_MTU_REDUCED_DEFERRED),
- +};
- +
- static inline struct tcp_sock *tcp_sk(const struct sock *sk)
- {
- return (struct tcp_sock *)sk;
- --- a/net/ipv4/tcp_output.c
- +++ b/net/ipv4/tcp_output.c
- @@ -789,10 +789,10 @@ static void tcp_tasklet_func(unsigned lo
- }
- }
-
- -#define TCP_DEFERRED_ALL ((1UL << TCP_TSQ_DEFERRED) | \
- - (1UL << TCP_WRITE_TIMER_DEFERRED) | \
- - (1UL << TCP_DELACK_TIMER_DEFERRED) | \
- - (1UL << TCP_MTU_REDUCED_DEFERRED))
- +#define TCP_DEFERRED_ALL (TCPF_TSQ_DEFERRED | \
- + TCPF_WRITE_TIMER_DEFERRED | \
- + TCPF_DELACK_TIMER_DEFERRED | \
- + TCPF_MTU_REDUCED_DEFERRED)
- /**
- * tcp_release_cb - tcp release_sock() callback
- * @sk: socket
- @@ -813,7 +813,7 @@ void tcp_release_cb(struct sock *sk)
- nflags = flags & ~TCP_DEFERRED_ALL;
- } while (cmpxchg(&tp->tsq_flags, flags, nflags) != flags);
-
- - if (flags & (1UL << TCP_TSQ_DEFERRED))
- + if (flags & TCPF_TSQ_DEFERRED)
- tcp_tsq_handler(sk);
-
- /* Here begins the tricky part :
- @@ -827,15 +827,15 @@ void tcp_release_cb(struct sock *sk)
- */
- sock_release_ownership(sk);
-
- - if (flags & (1UL << TCP_WRITE_TIMER_DEFERRED)) {
- + if (flags & TCPF_WRITE_TIMER_DEFERRED) {
- tcp_write_timer_handler(sk);
- __sock_put(sk);
- }
- - if (flags & (1UL << TCP_DELACK_TIMER_DEFERRED)) {
- + if (flags & TCPF_DELACK_TIMER_DEFERRED) {
- tcp_delack_timer_handler(sk);
- __sock_put(sk);
- }
- - if (flags & (1UL << TCP_MTU_REDUCED_DEFERRED)) {
- + if (flags & TCPF_MTU_REDUCED_DEFERRED) {
- inet_csk(sk)->icsk_af_ops->mtu_reduced(sk);
- __sock_put(sk);
- }
|