[TCP]: Avoid two divides in __tcp_grow_window()
tcp_win_from_space() being signed, compiler might emit an integer divide to compute tcp_win_from_space()/2 . Using right shifts is OK here and less expensive. Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8beb5c5f12
Коммит
dfd4f0ae2e
|
@ -289,8 +289,8 @@ static int __tcp_grow_window(const struct sock *sk, const struct sk_buff *skb)
|
|||
{
|
||||
struct tcp_sock *tp = tcp_sk(sk);
|
||||
/* Optimize this! */
|
||||
int truesize = tcp_win_from_space(skb->truesize)/2;
|
||||
int window = tcp_win_from_space(sysctl_tcp_rmem[2])/2;
|
||||
int truesize = tcp_win_from_space(skb->truesize) >> 1;
|
||||
int window = tcp_win_from_space(sysctl_tcp_rmem[2]) >> 1;
|
||||
|
||||
while (tp->rcv_ssthresh <= window) {
|
||||
if (truesize <= skb->len)
|
||||
|
|
Загрузка…
Ссылка в новой задаче