net: call prot->release_cb() when processing backlog
__sk_flush_backlog() / sk_flush_backlog() are used when TCP recvmsg()/sendmsg() process large chunks, to not let packets in the backlog too long. It makes sense to call tcp_release_cb() to also process actions held in sk->sk_tsq_flags for smoother scheduling. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
11445469de
commit
4505dc2a52
@ -3001,6 +3001,9 @@ void __sk_flush_backlog(struct sock *sk)
|
||||
{
|
||||
spin_lock_bh(&sk->sk_lock.slock);
|
||||
__release_sock(sk);
|
||||
|
||||
if (sk->sk_prot->release_cb)
|
||||
sk->sk_prot->release_cb(sk);
|
||||
spin_unlock_bh(&sk->sk_lock.slock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__sk_flush_backlog);
|
||||
|
Loading…
x
Reference in New Issue
Block a user