Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
This commit is contained in:
@@ -1339,6 +1339,16 @@ static inline void sk_mem_uncharge(struct sock *sk, int size)
|
||||
if (!sk_has_account(sk))
|
||||
return;
|
||||
sk->sk_forward_alloc += size;
|
||||
|
||||
/* Avoid a possible overflow.
|
||||
* TCP send queues can make this happen, if sk_mem_reclaim()
|
||||
* is not called and more than 2 GBytes are released at once.
|
||||
*
|
||||
* If we reach 2 MBytes, reclaim 1 MBytes right now, there is
|
||||
* no need to hold that much forward allocation anyway.
|
||||
*/
|
||||
if (unlikely(sk->sk_forward_alloc >= 1 << 21))
|
||||
__sk_mem_reclaim(sk, 1 << 20);
|
||||
}
|
||||
|
||||
static inline void sk_wmem_free_skb(struct sock *sk, struct sk_buff *skb)
|
||||
|
||||
Reference in New Issue
Block a user