icmp: No need to call sk_write_space()
We can make icmp messages tx completion callback a litle bit faster. Setting SOCK_USE_WRITE_QUEUE sk flag tells sock_wfree() to not call sk_write_space() on a socket we know no thread is posssibly waiting for write space. (on per cpu kernel internal icmp sockets only) This avoids the sock_def_write_space() call and read_lock(&sk->sk_callback_lock)/read_unlock(&sk->sk_callback_lock) calls as well. We avoid three atomic ops. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
a9828ec6bc
Коммит
b3a5b6cc7c
|
@ -1165,6 +1165,10 @@ static int __net_init icmp_sk_init(struct net *net)
|
|||
sk->sk_sndbuf =
|
||||
(2 * ((64 * 1024) + sizeof(struct sk_buff)));
|
||||
|
||||
/*
|
||||
* Speedup sock_wfree()
|
||||
*/
|
||||
sock_set_flag(sk, SOCK_USE_WRITE_QUEUE);
|
||||
inet_sk(sk)->pmtudisc = IP_PMTUDISC_DONT;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче