Ok, now the code seems to work when TSO is disabled, i.e., cwnd remains low (40-60pkts) and only grows slowly for extended period on a back2back 1GbE link. It also works when tcpdump was running after I fixed the code, per your suggestion, to only bump the in_flight count for fast clones. But it doesn't work when TSO is enabled. I've fixed tso_fragment() to correctly set skb_shinfo(buff)->in_flight after the split. But cwnd still grows rapidly to a few hundred pkts (although smaller than w/o the fix). The host inflight accounting gets screwed up. It looks like pskb_expand_head() called by tcp_tso_acked()->tcp_trim_head() messes up the accounting but I don't know how to fix it (still trying to understand this complex piece of code). There could be other reason as well. Jerry On Mon, May 12, 2008 at 9:02 PM, David Miller <davem@davemloft.net> wrote:-- 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
| Greg Kroah-Hartman | [PATCH 012/196] nozomi driver |
| Ingo Molnar | Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 |
| Rafael J. Wysocki | [PATCH -mm 5/6] Freezer: Remove PF_NOFREEZE from bluetooth threads |
| Ingo Molnar | Re: [PATCH 00/23] per device dirty throttling -v8 |
git: | |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Natalie Protasevich | [BUG] New Kernel Bugs |
