From: Dmitry Yusupov <[EMAIL PROTECTED]> Date: Fri, 19 Aug 2005 16:55:47 -0700
> Signed-off-by: Dmitry Yusupov <[EMAIL PROTECTED]> > > diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c > --- a/net/ipv4/tcp_output.c > +++ b/net/ipv4/tcp_output.c > @@ -925,10 +925,6 @@ static int tcp_tso_should_defer(struct s > > limit = min(send_win, cong_win); > > - /* If sk_send_head can be sent fully now, just do it. */ > - if (skb->len <= limit) > - return 0; > - > if (sysctl_tcp_tso_win_divisor) { > u32 chunk = min(tp->snd_wnd, tp->snd_cwnd * tp->mss_cache); Very interesting, thanks for this. This patch seems as if it would help only if: 1) SKB is the newest packet in the queue (ie. it is sk->sk_send_head and it is the tail SKB in the send queue) 2) the user will tack on some more data "very soon" I wonder why the user is not able to keep up with filling the send buffer so that this condition does not occur? I intend to apply your patch, or something very similar, I just want to verify some things first, such as if there is a case where the check needs some more conditions. Deferring only is valid, for example, if there are other ACKs which will show up to trigger the end of the deferral. For one thing, that means we cannot defer if the pipe is empty or nearly empty. Again, thanks a lot. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html