Message ID | 1267627610.6264.21.camel@marge.simson.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Mike Galbraith <efault@gmx.de> Date: Wed, 03 Mar 2010 15:46:50 +0100 > On Wed, 2010-03-03 at 06:05 -0800, David Miller wrote: > >> It definitely looks like an oversight to me and we should add >> be using wake_up_interruptible_sync_poll() in tcp_prequeue() >> as above. >> >> Ingo? > > Implied ack from network maintainer implies ship it to me. > > net: add scheduler sync hint to tcp_prequeue(). > > Decreases the odds wakee will suffer from frequent cache misses. > > Signed-off-by: Mike Galbraith <efault@gmx.de> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/net/tcp.h b/include/net/tcp.h index 34f5cc2..ba3fc64 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -939,7 +939,7 @@ 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_poll(sk->sk_sleep, + wake_up_interruptible_sync_poll(sk->sk_sleep, POLLIN | POLLRDNORM | POLLRDBAND); if (!inet_csk_ack_scheduled(sk)) inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK,