lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 24 Dec 2007 21:35:00 -0800 (PST) From: David Miller <davem@...emloft.net> To: ilpo.jarvinen@...sinki.fi Cc: herbert@...dor.apana.org.au, netdev@...r.kernel.org Subject: Re: [PATCH] [TCP]: Force TSO splits to MSS boundaries From: "Ilpo_Järvinen" <ilpo.jarvinen@...sinki.fi> Date: Fri, 21 Dec 2007 20:55:28 +0200 (EET) > [PATCH] [TCP]: Force TSO splits to MSS boundaries > > If snd_wnd - snd_nxt wasn't multiple of MSS, skb was split on > odd boundary by the callers of tcp_window_allows. > > We try really hard to avoid unnecessary modulos. Therefore the > old caller side check "if (skb->len < limit)" was too wide as > well because limit is not bound in any way to skb->len and can > cause spurious testing for trimming in the middle of the queue > while we only wanted that to happen at the tail of the queue. > A simple additional caller side check for tcp_write_queue_tail > would likely have resulted 2 x modulos because the limit would > have to be first calculated from window, however, doing that > unnecessary modulo is not mandatory. After a minor change to > the algorithm, simply determine first if the modulo is needed > at all and at that point immediately decide also from which > value it should be calculated from. > > This approach also kills some duplicated code. > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@...sinki.fi> Looks good, patch applied, thanks. With respect to code duplicateion, tcp_push_one() is essentially the inner loop of tcp_write_xmit() :-) -- 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