Loading include/net/tcp.h +23 −22 Original line number Diff line number Diff line Loading @@ -890,7 +890,9 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) { struct tcp_sock *tp = tcp_sk(sk); if (!sysctl_tcp_low_latency && tp->ucopy.task) { if (sysctl_tcp_low_latency || !tp->ucopy.task) return 0; __skb_queue_tail(&tp->ucopy.prequeue, skb); tp->ucopy.memory += skb->truesize; if (tp->ucopy.memory > sk->sk_rcvbuf) { Loading @@ -900,7 +902,8 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) while ((skb1 = __skb_dequeue(&tp->ucopy.prequeue)) != NULL) { sk_backlog_rcv(sk, skb1); NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPPREQUEUEDROPPED); NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPPREQUEUEDROPPED); } tp->ucopy.memory = 0; Loading @@ -913,8 +916,6 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) } return 1; } return 0; } #undef STATE_TRACE Loading Loading
include/net/tcp.h +23 −22 Original line number Diff line number Diff line Loading @@ -890,7 +890,9 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) { struct tcp_sock *tp = tcp_sk(sk); if (!sysctl_tcp_low_latency && tp->ucopy.task) { if (sysctl_tcp_low_latency || !tp->ucopy.task) return 0; __skb_queue_tail(&tp->ucopy.prequeue, skb); tp->ucopy.memory += skb->truesize; if (tp->ucopy.memory > sk->sk_rcvbuf) { Loading @@ -900,7 +902,8 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) while ((skb1 = __skb_dequeue(&tp->ucopy.prequeue)) != NULL) { sk_backlog_rcv(sk, skb1); NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPPREQUEUEDROPPED); NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPPREQUEUEDROPPED); } tp->ucopy.memory = 0; Loading @@ -913,8 +916,6 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) } return 1; } return 0; } #undef STATE_TRACE Loading