On Mon, Aug 01, 2005 at 08:33:20AM +0000, Guillaume Pelat wrote: > > I just tried the patch attached. :) > > The bug is still here (same symptoms), with a slightly different backtrace : > ------------[ cut here ]------------ > kernel BUG at net/ipv4/tcp_output.c:918!
OK, let's try again :) I bet it's the tcp_enter_cwr() call in tcp_transmit_skb(). So the sequence is: tcp_write_xmit cwnd_quota = tcp_cwnd_test tcp_transmit_skb tcp_enter_cwr tp->snd_cwnd = min(tp->snd_cwnd, in_flight + 1) At this point cwnd_quota is out-of-sync with tp->snd_cwnd. cwnd_quota -= tcp_skb_pcount(skb) cwnd_quota > 0 tcp_tso_should_defer BUG since tp->snd_cwnd is smaller than what cwnd_quota indicated. So I suppose we should reset cwnd_quota after tcp_transmit_skb? Perhaps we should only transmit one MSS in this case? Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/