summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2014-02-22 22:25:57 -0800
committerDavid S. Miller <davem@davemloft.net>2014-02-24 19:13:38 -0500
commitd10473d4e3f9d1b81b50a60c8465d6f59a095c46 (patch)
tree3210df148669c9ebae5b9f05f151123d9a6a804b /tools/perf/scripts/python
parent7262b7b26de1495f77edbe1e71cb15b8198adb9d (diff)
downloadkernel-d10473d4e3f9d1b81b50a60c8465d6f59a095c46.tar.gz
tcp: reduce the bloat caused by tcp_is_cwnd_limited()
tcp_is_cwnd_limited() allows GSO/TSO enabled flows to increase their cwnd to allow a full size (64KB) TSO packet to be sent. Non GSO flows only allow an extra room of 3 MSS. For most flows with a BDP below 10 MSS, this results in a bloat of cwnd reaching 90, and an inflate of RTT. Thanks to TSO auto sizing, we can restrict the bloat to the number of MSS contained in a TSO packet (tp->xmit_size_goal_segs), to keep original intent without performance impact. Because we keep cwnd small, it helps to keep TSO packet size to their optimal value. Example for a 10Mbit flow, with low TCP Small queue limits (no more than 2 skb in qdisc/device tx ring) Before patch : lpk51:~# ./ss -i dst lpk52:44862 | grep cwnd cubic wscale:6,6 rto:215 rtt:15.875/2.5 mss:1448 cwnd:96 ssthresh:96 send 70.1Mbps unacked:14 rcv_space:29200 After patch : lpk51:~# ./ss -i dst lpk52:52916 | grep cwnd cubic wscale:6,6 rto:206 rtt:5.206/0.036 mss:1448 cwnd:15 ssthresh:14 send 33.4Mbps unacked:4 rcv_space:29200 Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Yuchung Cheng <ycheng@google.com> Cc: Neal Cardwell <ncardwell@google.com> Cc: Nandita Dukkipati <nanditad@google.com> Cc: Van Jacobson <vanj@google.com> Acked-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
2021-01-04srcu: Document polling interfaces for Tree SRCU grace periodsPaul E. McKenney 2021-01-04doc: Update RCU requirements RCU_INIT_POINTER() descriptionPaul E. McKenney 2021-01-04docs: Fix typos and drop/fix dead links in RCU documentationPaul Gortmaker 2021-01-04doc: Remove obsolete RCU-bh and RCU-sched update-side API membersPaul E. McKenney 2021-01-04docs: Remove redundant "``" from Requirements.rstPaul E. McKenney 2020-12-31docs: Fix reST markup when linking to sectionsNĂ­colas F. R. A. Prado 2020-11-06docs: RCU: Requirements.rst: Fix a list blockMauro Carvalho Chehab 2020-11-06docs: Update RCU's hotplug requirements with a bit about designJoel Fernandes (Google) 2020-08-24doc: Drop doubled words from RCU requirements documentationRandy Dunlap 2020-08-24doc: Drop doubled words from RCU Data-Structures.rstRandy Dunlap 2020-08-03Merge tag 'core-rcu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds 2020-07-21Documentation/barriers: Remove references to [smp_]read_barrier_depends()Will Deacon 2020-06-29doc: Tasks RCU must protect instructions before trampolinePaul E. McKenney 2020-04-27rcu: Make rcu_read_unlock_special() safe for rq/pi locksPaul E. McKenney 2020-02-27doc/RCU/Design: Remove remaining HTML tags in ReST filesSeongJae Park 2019-10-29Documentation: Rename rcu_node_context_switch() to rcu_note_context_switch()Sebastian Andrzej Siewior 2019-10-29Restore docs "rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()"Joel Fernandes (Google) 2019-10-29Restore docs "treewide: Rename rcu_dereference_raw_notrace() to _check()"Joel Fernandes (Google) 2019-10-29docs: rcu: Correct links referring to titlesJoel Fernandes (Google) 2019-10-29docs: rcu: convert some articles from html to ReSTMauro Carvalho Chehab 2019-10-29Revert docs from "treewide: Rename rcu_dereference_raw_notrace() to _check()"Joel Fernandes (Google) 2019-10-29Revert docs from "rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlo...Joel Fernandes (Google) 2019-08-13Merge branches 'consolidate.2019.08.01b', 'fixes.2019.08.12a', 'lists.2019.08...Paul E. McKenney 2019-08-01treewide: Rename rcu_dereference_raw_notrace() to _check()Joel Fernandes (Google) 2019-08-01rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()Paul E. McKenney