android_kernel_xiaomi_sm8350/net/ipv4
Ilpo Järvinen f8269a495a tcp: make urg+gso work for real this time
I should have noticed this earlier... :-) The previous solution
to URG+GSO/TSO will cause SACK block tcp_fragment to do zig-zig
patterns, or even worse, a steep downward slope into packet
counting because each skb pcount would be truncated to pcount
of 2 and then the following fragments of the later portion would
restore the window again.

Basically this reverts "tcp: Do not use TSO/GSO when there is
urgent data" (33cf71cee1). It also removes some unnecessary code
from tcp_current_mss that didn't work as intented either (could
be that something was changed down the road, or it might have
been broken since the dawn of time) because it only works once
urg is already written while this bug shows up starting from
~64k before the urg point.

The retransmissions already are split to mss sized chunks, so
only new data sending paths need splitting in case they have
a segment otherwise suitable for gso/tso. The actually check
can be improved to be more narrow but since this is late -rc
already, I'll postpone thinking the more fine-grained things.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-03 21:24:48 -08:00
..
netfilter netfilter: snmp nat leaks memory in case of failure 2008-10-20 03:33:24 -07:00
af_inet.c TPROXY: supply a struct flowi->flags argument in inet_sk_rebuild_header() 2008-11-20 01:08:06 -08:00
ah4.c
arp.c netfilter: replace old NF_ARP calls with NFPROTO_ARP 2008-10-20 03:34:51 -07:00
cipso_ipv4.c cipso: unsigned buf_len cannot be negative 2008-10-29 15:55:53 -04:00
datagram.c mib: add net to IP_INC_STATS_BH 2008-07-16 20:20:11 -07:00
devinet.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-17 08:58:52 -07:00
esp4.c ipsec: Interfamily IPSec BEET 2008-08-06 02:39:30 -07:00
fib_frontend.c
fib_hash.c
fib_lookup.h
fib_rules.c
fib_semantics.c
fib_trie.c proc: consolidate per-net single-release callers 2008-07-18 04:07:44 -07:00
icmp.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
igmp.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
inet_connection_sock.c inet: cleanup of local_port_range 2008-10-08 14:18:04 -07:00
inet_diag.c net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely) 2008-10-16 15:24:51 -07:00
inet_fragment.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
inet_hashtables.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
inet_lro.c
inet_timewait_sock.c ipv4: Implement IP_TRANSPARENT socket option 2008-10-01 07:30:02 -07:00
inetpeer.c
ip_forward.c mib: add net to IP_INC_STATS_BH 2008-07-16 20:20:11 -07:00
ip_fragment.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
ip_gre.c gre: Initialise rtnl_link tunnel parameters properly 2008-10-11 12:20:15 -07:00
ip_input.c net: shy netns_ok check 2008-11-12 23:23:51 -08:00
ip_options.c cipso: Add support for native local labeling and fixup mapping names 2008-10-10 10:16:34 -04:00
ip_output.c ipv4: Make Netfilter's ip_route_me_harder() non-local address compatible 2008-10-01 07:44:42 -07:00
ip_sockglue.c ipv4: Implement IP_TRANSPARENT socket option 2008-10-01 07:30:02 -07:00
ipcomp.c ipcomp: Fix warnings after ipcomp consolidation. 2008-07-27 03:59:24 -07:00
ipconfig.c netns: Use net_eq() to compare net-namespaces for optimization. 2008-07-19 22:34:43 -07:00
ipip.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
ipmr.c net: fix ip_mr_init() error path 2008-11-19 14:07:41 -08:00
Kconfig IPVS: Move IPVS to net/netfilter/ipvs 2008-10-07 08:38:24 +11:00
Makefile IPVS: Move IPVS to net/netfilter/ipvs 2008-10-07 08:38:24 +11:00
netfilter.c netfilter: netns: fix {ip,6}_route_me_harder() in netns 2008-10-08 11:35:03 +02:00
proc.c net: fix /proc/net/snmp as memory corruptor 2008-11-10 21:43:08 -08:00
protocol.c
raw.c mib: add net to IP_INC_STATS 2008-07-16 20:19:49 -07:00
route.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-17 08:58:52 -07:00
syncookies.c tcp: Port redirection support for TCP 2008-10-01 07:46:49 -07:00
sysctl_net_ipv4.c sysctl: simplify ->strategy 2008-10-16 11:21:47 -07:00
tcp_bic.c
tcp_cong.c net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely) 2008-10-16 15:24:51 -07:00
tcp_cubic.c
tcp_diag.c
tcp_highspeed.c
tcp_htcp.c tcp_htcp: last_cong bug fix 2008-11-12 01:41:09 -08:00
tcp_hybla.c tcp: Fix tcp_hybla zero congestion window growth with small rho and large cwnd. 2008-10-07 15:58:17 -07:00
tcp_illinois.c
tcp_input.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-08 14:56:41 -07:00
tcp_ipv4.c tcpv[46]: fix md5 pseudoheader address field ordering 2008-10-09 14:37:47 -07:00
tcp_lp.c
tcp_minisocks.c tcp: kill pointless urg_mode 2008-10-07 14:43:06 -07:00
tcp_output.c tcp: make urg+gso work for real this time 2008-12-03 21:24:48 -08:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c net: wrap sk->sk_backlog_rcv() 2008-10-07 14:18:42 -07:00
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tcp.c tcp: Fix recvmsg MSG_PEEK influence of blocking behavior. 2008-11-05 03:36:01 -08:00
tunnel4.c
udp_impl.h
udp.c TPROXY: fill struct flowi->flags in udp_sendmsg() 2008-11-20 01:07:24 -08:00
udplite.c mib: put udplite statistics on struct net 2008-07-18 04:03:45 -07:00
xfrm4_input.c
xfrm4_mode_beet.c ipsec: Interfamily IPSec BEET 2008-08-06 02:39:30 -07:00
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c
xfrm4_state.c xfrm: Have af-specific init_tempsel() initialize family field of temporary selector 2008-11-04 14:49:19 -08:00
xfrm4_tunnel.c