android_kernel_google_msm/include/net
Eric Dumazet 2687196048 tcp: GSO should be TSQ friendly
I noticed that TSQ (TCP Small queues) was less effective when TSO is
turned off, and GSO is on. If BQL is not enabled, TSQ has then no
effect.

It turns out the GSO engine frees the original gso_skb at the time the
fragments are generated and queued to the NIC.

We should instead call the tcp_wfree() destructor for the last fragment,
to keep the flow control as intended in TSQ. This effectively limits
the number of queued packets on qdisc + NIC layers.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Nandita Dukkipati <nanditad@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: Idbe0206447bf979e012b6c4d5fe9e4fec10d5eb8
2020-11-30 19:35:07 +03:00
..
9p
bluetooth Bluetooth: hidp: verify l2cap sockets 2018-01-13 17:14:28 +03:00
caif
irda
iucv
netfilter netfilter updates for net-next (batch 3) 2020-10-25 02:34:32 -04:00
netns netfilter: add connlabel conntrack extension 2018-12-07 22:04:24 +04:00
nfc
phonet
sctp sctp: start t5 timer only when peer rwnd is 0 and local state is SHUTDOWN_PENDING 2016-10-26 23:15:35 +08:00
tc_act
act_api.h
activity_stats.h
addrconf.h netfilter: ip6tables: add MASQUERADE target 2018-12-07 22:02:09 +04:00
af_ieee802154.h
af_rxrpc.h
af_unix.h Merge remote-tracking branch 'stable/linux-3.4.y' into lineage-15.1 2017-12-27 17:13:15 +03:00
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
cfg80211-wext.h
cfg80211.h Merge remote-tracking branch 'stable/linux-3.4.y' into lineage-15.1 2017-12-27 17:13:15 +03:00
checksum.h net: core: add function for incremental IPv6 pseudo header checksum updates 2018-12-07 22:02:09 +04:00
cipso_ipv4.h net: fix cipso packet validation when !NETLABEL 2013-11-04 04:23:41 -08:00
cls_cgroup.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dsa.h
dsfield.h
dst.h Merge remote-tracking branch 'stable/linux-3.4.y' into lineage-15.1 2017-12-27 17:13:15 +03:00
dst_ops.h
esp.h
ethoc.h
fib_rules.h net: core: add UID to flows, rules, and routes 2017-09-01 13:38:07 +03:00
flow.h ipv4, fib: pass LOOPBACK_IFINDEX instead of 0 to flowi4_iif 2018-08-27 14:52:49 +00:00
flow_keys.h
garp.h
gen_stats.h
genetlink.h
gre.h
icmp.h
ieee80211_radiotap.h
ieee802154.h
ieee802154_netdev.h
if_inet6.h
inet6_connection_sock.h
inet6_hashtables.h ipv6: use a stronger hash for tcp 2013-09-25 17:01:33 +00:00
inet_common.h
inet_connection_sock.h
inet_ecn.h
inet_frag.h ipv4: fix path MTU discovery with connection tracking 2018-12-07 22:02:09 +04:00
inet_hashtables.h
inet_sock.h net: support marking accepting TCP sockets 2014-05-12 22:43:02 -07:00
inet_timewait_sock.h
inetpeer.h inetpeer: get rid of ip_id_count 2014-08-14 08:42:35 +08:00
ip.h ipv4: fix path MTU discovery with connection tracking 2018-12-07 22:02:09 +04:00
ip6_checksum.h
ip6_fib.h ipv6: fix handling of blackhole and prohibit routes 2016-10-26 23:15:43 +08:00
ip6_route.h ipv6: Limit mtu to 65575 bytes 2014-06-07 16:01:59 -07:00
ip6_tunnel.h
ip_fib.h ipv4: fix definition of FIB_TABLE_HASHSZ 2013-03-28 12:11:53 -07:00
ip_vs.h
ipcomp.h
ipconfig.h
ipip.h tunnel: implement 64 bits statistics 2020-11-30 19:26:33 +03:00
ipv6.h Merge remote-tracking branch 'stable/linux-3.4.y' into lineage-15.1 2017-12-27 17:13:15 +03:00
ipx.h
iw_handler.h
lapb.h
lib80211.h
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL 2014-06-07 16:02:07 -07:00
mip6.h
mld.h
ndisc.h ipv6: don't call fib6_run_gc() until routing is ready 2016-10-26 23:15:43 +08:00
neighbour.h net: Do delayed neigh confirmation. 2017-09-01 13:38:10 +03:00
net_namespace.h ipv4, fib: pass LOOPBACK_IFINDEX instead of 0 to flowi4_iif 2018-08-27 14:52:49 +00:00
net_ratelimit.h
netdma.h
netevent.h
netlabel.h
netlink.h netlink: Add nla_put_be{16,32,64}() helpers. 2018-12-07 21:59:38 +04:00
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h
p8022.h
ping.h Merge remote-tracking branch 'stable/linux-3.4.y' into lineage-15.1 2017-12-27 17:13:15 +03:00
pkt_cls.h
pkt_sched.h net: sched: export an api to enable/disable flow on sch 2013-03-07 15:20:04 -08:00
protocol.h
psnap.h
raw.h
rawv6.h
red.h
regulatory.h regulatory: add NUL to alpha2 2014-12-01 18:02:22 +08:00
request_sock.h
rose.h
route.h Revert "net: core: Support UID-based routing." 2017-08-27 19:09:20 +03:00
rtnetlink.h
sch_generic.h
scm.h Merge remote-tracking branch 'stable/linux-3.4.y' into lineage-15.1 2017-12-27 17:13:15 +03:00
secure_seq.h Merge remote-tracking branch 'stable/linux-3.4.y' into lineage-15.1 2017-12-27 17:13:15 +03:00
slhc_vj.h
snmp.h
sock.h tcp: TCP Small Queues 2020-11-30 19:35:00 +03:00
stp.h
tcp.h tcp: GSO should be TSQ friendly 2020-11-30 19:35:07 +03:00
tcp_memcontrol.h
tcp_states.h
timewait_sock.h
transp_v6.h net: ipv6: Add IPv6 support to the ping socket. 2013-08-21 13:34:09 +09:00
udp.h ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET pending data 2013-07-28 16:26:02 -07:00
udplite.h
wext.h
wimax.h
wpan-phy.h
x25.h
x25device.h
xfrm.h