mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-03 21:01:50 +00:00
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>
This commit is contained in:
parent
f83e83037c
commit
40fc3423b9
2 changed files with 18 additions and 9 deletions
|
@ -364,7 +364,7 @@ struct tcp_sock {
|
||||||
u32 *saved_syn;
|
u32 *saved_syn;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum tsq_flags {
|
enum tsq_enum {
|
||||||
TSQ_THROTTLED,
|
TSQ_THROTTLED,
|
||||||
TSQ_QUEUED,
|
TSQ_QUEUED,
|
||||||
TCP_TSQ_DEFERRED, /* tcp_tasklet_func() found socket was owned */
|
TCP_TSQ_DEFERRED, /* tcp_tasklet_func() found socket was owned */
|
||||||
|
@ -375,6 +375,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)
|
static inline struct tcp_sock *tcp_sk(const struct sock *sk)
|
||||||
{
|
{
|
||||||
return (struct tcp_sock *)sk;
|
return (struct tcp_sock *)sk;
|
||||||
|
|
|
@ -784,10 +784,10 @@ static void tcp_tasklet_func(unsigned long data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TCP_DEFERRED_ALL ((1UL << TCP_TSQ_DEFERRED) | \
|
#define TCP_DEFERRED_ALL (TCPF_TSQ_DEFERRED | \
|
||||||
(1UL << TCP_WRITE_TIMER_DEFERRED) | \
|
TCPF_WRITE_TIMER_DEFERRED | \
|
||||||
(1UL << TCP_DELACK_TIMER_DEFERRED) | \
|
TCPF_DELACK_TIMER_DEFERRED | \
|
||||||
(1UL << TCP_MTU_REDUCED_DEFERRED))
|
TCPF_MTU_REDUCED_DEFERRED)
|
||||||
/**
|
/**
|
||||||
* tcp_release_cb - tcp release_sock() callback
|
* tcp_release_cb - tcp release_sock() callback
|
||||||
* @sk: socket
|
* @sk: socket
|
||||||
|
@ -808,7 +808,7 @@ void tcp_release_cb(struct sock *sk)
|
||||||
nflags = flags & ~TCP_DEFERRED_ALL;
|
nflags = flags & ~TCP_DEFERRED_ALL;
|
||||||
} while (cmpxchg(&tp->tsq_flags, flags, nflags) != flags);
|
} while (cmpxchg(&tp->tsq_flags, flags, nflags) != flags);
|
||||||
|
|
||||||
if (flags & (1UL << TCP_TSQ_DEFERRED))
|
if (flags & TCPF_TSQ_DEFERRED)
|
||||||
tcp_tsq_handler(sk);
|
tcp_tsq_handler(sk);
|
||||||
|
|
||||||
/* Here begins the tricky part :
|
/* Here begins the tricky part :
|
||||||
|
@ -822,15 +822,15 @@ void tcp_release_cb(struct sock *sk)
|
||||||
*/
|
*/
|
||||||
sock_release_ownership(sk);
|
sock_release_ownership(sk);
|
||||||
|
|
||||||
if (flags & (1UL << TCP_WRITE_TIMER_DEFERRED)) {
|
if (flags & TCPF_WRITE_TIMER_DEFERRED) {
|
||||||
tcp_write_timer_handler(sk);
|
tcp_write_timer_handler(sk);
|
||||||
__sock_put(sk);
|
__sock_put(sk);
|
||||||
}
|
}
|
||||||
if (flags & (1UL << TCP_DELACK_TIMER_DEFERRED)) {
|
if (flags & TCPF_DELACK_TIMER_DEFERRED) {
|
||||||
tcp_delack_timer_handler(sk);
|
tcp_delack_timer_handler(sk);
|
||||||
__sock_put(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);
|
inet_csk(sk)->icsk_af_ops->mtu_reduced(sk);
|
||||||
__sock_put(sk);
|
__sock_put(sk);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue