[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20071220.040037.48002365.davem@davemloft.net>
Date: Thu, 20 Dec 2007 04:00:37 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ilpo.jarvinen@...sinki.fi
Cc: netdev@...r.kernel.org, herbert@...dor.apana.org.au
Subject: Re: TSO trimming question
From: "Ilpo_Järvinen" <ilpo.jarvinen@...sinki.fi>
Date: Thu, 20 Dec 2007 13:40:51 +0200 (EET)
> That's not the only case, IMHO if there's odd boundary due to
> snd_una+snd_wnd - skb->seq limit (done in tcp_window_allows()), we don't
> consider it as odd but break the skb at arbitary point resulting
> two small segments to the network, and what's worse, when the later skb
> resulting from the first split is matching skb->len < limit check as well
> causing an unnecessary small skb to be created for nagle purpose too,
> solving it fully requires some thought in case the mss_now != mss_cache
> even if non-odd boundaries are honored in the middle of skb.
In the most ideal sense, tcp_window_allows() should probably
be changed to only return MSS multiples.
Unfortunately this would add an expensive modulo operation,
however I think it would elimiate this problem case.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists