From: Eric Dumazet Date: Thu, 7 May 2009 07:20:39 +0000 (+0000) Subject: tcp: tcp_prequeue() can use keyed wakeups X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7aedec2ad5314b173e78ca3f4edb4ceaa02248bb;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git tcp: tcp_prequeue() can use keyed wakeups We can avoid waking up tasks not interested in receive notifications, using wake_up_interruptible_poll() instead of wake_up_interruptible() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/include/net/tcp.h b/include/net/tcp.h index ac37228b7001..87d210bb12a4 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -908,7 +908,8 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) tp->ucopy.memory = 0; } else if (skb_queue_len(&tp->ucopy.prequeue) == 1) { - wake_up_interruptible(sk->sk_sleep); + wake_up_interruptible_poll(sk->sk_sleep, + POLLIN | POLLRDNORM | POLLRDBAND); if (!inet_csk_ack_scheduled(sk)) inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, (3 * TCP_RTO_MIN) / 4,