net: sock_free() optimizations
Avoid two extra instructions in sock_free(), to reload skb->truesize and skb->sk Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7ba4291007
commit
d361fd599a
1 changed files with 3 additions and 2 deletions
|
@ -1339,9 +1339,10 @@ EXPORT_SYMBOL(sock_wfree);
|
||||||
void sock_rfree(struct sk_buff *skb)
|
void sock_rfree(struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct sock *sk = skb->sk;
|
struct sock *sk = skb->sk;
|
||||||
|
unsigned int len = skb->truesize;
|
||||||
|
|
||||||
atomic_sub(skb->truesize, &sk->sk_rmem_alloc);
|
atomic_sub(len, &sk->sk_rmem_alloc);
|
||||||
sk_mem_uncharge(skb->sk, skb->truesize);
|
sk_mem_uncharge(sk, len);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(sock_rfree);
|
EXPORT_SYMBOL(sock_rfree);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue