Eric Dumazet
d265655ae4
tcp: lack of available data can also cause TSO defer
...
commit f9bfe4e6a9d08d405fe7b081ee9a13e649c97ecf upstream.
tcp_tso_should_defer() can return true in three different cases :
1) We are cwnd-limited
2) We are rwnd-limited
3) We are application limited.
Neal pointed out that my recent fix went too far, since
it assumed that if we were not in 1) case, we must be rwnd-limited
Fix this by properly populating the is_cwnd_limited and
is_rwnd_limited booleans.
After this change, we can finally move the silly check for FIN
flag only for the application-limited case.
The same move for EOR bit will be handled in net-next,
since commit 1c09f7d073b1 ("tcp: do not try to defer skbs
with eor mark (MSG_EOR)") is scheduled for linux-4.21
Tested by running 200 concurrent netperf -t TCP_RR -- -r 60000,100
and checking none of them was rwnd_limited in the chrono_stat
output from "ss -ti" command.
Fixes: 41727549de3e ("tcp: Do not underestimate rwnd_limited")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Suggested-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Reviewed-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-17 09:24:42 +01:00
..
6lowpan
6lowpan: iphc: reset mac_header after decompress to fix panic
2018-07-06 12:32:12 +02:00
9p
9p: clear dangling pointers in p9stat_free
2018-11-21 09:19:12 +01:00
802
8021q
net: remove blank lines at end of file
2018-07-24 14:10:43 -07:00
appletalk
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
atm
Revert "net: simplify sock_poll_wait"
2018-11-04 14:50:51 +01:00
ax25
ax25: remove blank line at EOF
2018-07-24 14:10:42 -07:00
batman-adv
batman-adv: Expand merged fragment buffer for full packet
2018-12-13 09:16:10 +01:00
bluetooth
Bluetooth: SMP: fix crash in unpairing
2018-09-26 12:39:32 +03:00
bpf
bpf/test_run: support cgroup local storage
2018-08-03 00:47:32 +02:00
bpfilter
net: bpfilter: use get_pid_task instead of pid_task
2018-10-17 22:03:40 -07:00
bridge
net: bridge: remove ipv6 zero address check in mcast queries
2018-11-04 14:50:54 +01:00
caif
Revert "net: simplify sock_poll_wait"
2018-11-04 14:50:51 +01:00
can
can: raw: check for CAN FD capable netdev in raw_sendmsg()
2018-12-01 09:37:30 +01:00
ceph
libceph: fall back to sendmsg for slab pages
2018-11-27 16:13:11 +01:00
core
net: fix XPS static_key accounting
2018-12-17 09:24:29 +01:00
dcb
net: dcb: Add priority-to-DSCP map getters
2018-07-27 13:17:50 -07:00
dccp
Revert "net: simplify sock_poll_wait"
2018-11-04 14:50:51 +01:00
decnet
decnet: fix using plain integer as NULL warning
2018-08-09 14:11:24 -07:00
dns_resolver
net: remove blank lines at end of file
2018-07-24 14:10:43 -07:00
dsa
net: dsa: Drop GPIO includes
2018-08-27 15:24:33 -07:00
ethernet
net: Convert GRO SKB handling to list_head.
2018-06-26 11:33:04 +09:00
hsr
ieee802154
net: ieee802154: 6lowpan: remove redundant pointers 'fq' and 'net'
2018-08-06 11:21:15 +02:00
ife
ipv4
tcp: lack of available data can also cause TSO defer
2018-12-17 09:24:42 +01:00
ipv6
netfilter: nat: fix double register in masquerade modules
2018-12-17 09:24:37 +01:00
iucv
Revert "net: simplify sock_poll_wait"
2018-11-04 14:50:51 +01:00
kcm
Revert "kcm: remove any offset before parsing messages"
2018-09-17 18:43:42 -07:00
key
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
2018-07-27 09:33:37 -07:00
l2tp
l2tp: fix a sock refcnt leak in l2tp_tunnel_register
2018-11-23 08:17:05 +01:00
l3mdev
lapb
llc
llc: do not use sk_eat_skb()
2018-12-01 09:37:27 +01:00
mac80211
mac80211: ignore NullFunc frames in the duplicate detection
2018-12-13 09:16:23 +01:00
mac802154
net: mac802154: tx: expand tailroom if necessary
2018-08-06 11:21:37 +02:00
mpls
mpls: allow routes on ip6gre devices
2018-09-24 12:19:27 -07:00
ncsi
net/ncsi: Fixup .dumpit message flags and ID check in Netlink handler
2018-08-22 21:39:08 -07:00
netfilter
netfilter: nf_tables: deactivate expressions in rule replecement routine
2018-12-17 09:24:38 +01:00
netlabel
netlabel: check for IPV4MASK in addrinfo_get
2018-09-21 18:58:34 -07:00
netlink
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
2018-08-05 13:04:31 -07:00
netrom
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
nfc
Revert "net: simplify sock_poll_wait"
2018-11-04 14:50:51 +01:00
nsh
nsh: set mac len based on inner packet
2018-07-12 16:55:29 -07:00
openvswitch
openvswitch: Fix push/pop ethernet validation
2018-11-04 14:50:52 +01:00
packet
packet: copy user buffers before orphan or clone
2018-12-05 19:31:58 +01:00
phonet
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
psample
qrtr
net: qrtr: Reset the node and port ID of broadcast messages
2018-07-05 20:20:03 +09:00
rds
rds: RDS (tcp) hangs on sendto() to unresponding address
2018-10-10 22:19:52 -07:00
rfkill
Here are quite a large number of fixes, notably:
2018-09-03 22:12:02 -07:00
rose
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
rxrpc
rxrpc: Fix lockup due to no error backoff after ack transmit error
2018-11-23 08:17:07 +01:00
sched
net: Prevent invalid access to skb->prev in __qdisc_drop_all
2018-12-17 09:24:27 +01:00
sctp
sctp: update frag_point when stream_interleave is set
2018-12-17 09:24:28 +01:00
smc
net/smc: fix smc_buf_unuse to use the lgr pointer
2018-11-04 14:50:52 +01:00
strparser
strparser: remove redundant variable 'rd_desc'
2018-08-01 10:00:06 -07:00
sunrpc
SUNRPC: Fix leak of krb5p encode pages
2018-12-13 09:16:19 +01:00
switchdev
tipc
tipc: use destination length for copy string
2018-12-08 12:59:10 +01:00
tls
tls: fix currently broken MSG_PEEK behavior
2018-09-17 08:03:09 -07:00
unix
Revert "net: simplify sock_poll_wait"
2018-11-04 14:50:51 +01:00
vmw_vsock
vsock: split dwork to avoid reinitializations
2018-08-07 12:39:13 -07:00
wimax
wimax: remove blank lines at EOF
2018-07-24 14:10:42 -07:00
wireless
cfg80211: Fix busy loop regression in ieee80211_ie_split_ric()
2018-12-13 09:16:22 +01:00
x25
x25: remove blank lines at EOF
2018-07-24 14:10:42 -07:00
xdp
xsk: do not call synchronize_net() under RCU read lock
2018-10-11 10:19:01 +02:00
xfrm
xfrm: policy: use hlist rcu variants on insert
2018-10-11 13:24:46 +02:00
compat.c
net: avoid unnecessary sock_flag() check when enable timestamp
2018-08-06 10:42:48 -07:00
Kconfig
net: remove blank lines at end of file
2018-07-24 14:10:43 -07:00
Makefile
bpfilter: check compiler capability in Kconfig
2018-06-28 13:36:39 +09:00
socket.c
net: socket: fix a missing-check bug
2018-10-18 16:43:06 -07:00
sysctl_net.c