linux_dsm_epyc7002/include/net
Eric Dumazet 3f80e08f40 tcp: add tcp_reset_xmit_timer() helper
With EDT model, SRTT no longer is inflated by pacing delays.

This means that RTO and some other xmit timers might be setup
incorrectly. This is particularly visible with either :

- Very small enforced pacing rates (SO_MAX_PACING_RATE)
- Reduced rto (from the default 200 ms)

This can lead to TCP flows aborts in the worst case,
or spurious retransmits in other cases.

For example, this session gets far more throughput
than the requested 80kbit :

$ netperf -H 127.0.0.2 -l 100 -- -q 10000
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 127.0.0.2 () port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

540000 262144 262144    104.00      2.66

With the fix :

$ netperf -H 127.0.0.2 -l 100 -- -q 10000
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 127.0.0.2 () port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

540000 262144 262144    104.00      0.12

EDT allows for better control of rtx timers, since TCP has
a better idea of the earliest departure time of each skb
in the rtx queue. We only have to eventually add to the
timer the difference of the EDT time with current time.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-10-23 19:42:44 -07:00
..
9p
bluetooth Bluetooth: Errata Service Release 8, Erratum 3253 2018-10-14 10:25:47 +02:00
caif
iucv net/af_iucv: locate IUCV header via skb_network_header() 2018-09-26 09:56:07 -07:00
netfilter netfilter: nfnetlink_log: remove empty nfnetlink_log.h header file 2018-10-19 14:00:33 +02:00
netns net/ipv6: Add knob to skip DELROUTE message on device down 2018-10-12 09:47:02 -07:00
nfc NFC: Fix the number of pipes 2018-09-18 19:55:01 -07:00
phonet
sctp Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-19 11:03:06 -07:00
tc_act
6lowpan.h
act_api.h net_sched: convert idrinfo->lock from spinlock to a mutex 2018-10-05 00:36:31 -07:00
addrconf.h bpf: Allow sk_lookup with IPv6 module 2018-10-15 16:08:39 -07:00
af_ieee802154.h
af_rxrpc.h rxrpc: Allow the reply time to be obtained on a client call 2018-10-04 09:54:29 +01:00
af_unix.h af_unix.h: trivial whitespace cleanup 2018-10-22 19:47:21 -07:00
af_vsock.h
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
bond_3ad.h
bond_alb.h
bond_options.h
bonding.h bonding: avoid possible dead-lock 2018-09-26 20:22:19 -07:00
busy_poll.h
calipso.h
cfg80211-wext.h
cfg80211.h nl80211: Add per peer statistics to compute FCS error rate 2018-10-12 12:56:34 +02:00
cfg802154.h
checksum.h
cipso_ipv4.h
cls_cgroup.h
codel_impl.h
codel_qdisc.h
codel.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
devlink.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-12 21:38:46 -07:00
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dn.h
dsa.h net: dsa: Add Lantiq / Intel GSWIP tag support 2018-09-13 08:14:33 -07:00
dsfield.h
dst_cache.h
dst_metadata.h
dst_ops.h
dst.h geneve, vxlan: Don't set exceptions if skb->len < mtu 2018-10-17 21:51:13 -07:00
erspan.h
esp.h
ethoc.h
failover.h
fib_notifier.h
fib_rules.h
firewire.h
flow_dissector.h
flow.h
fou.h
fq_impl.h
fq.h
garp.h
gen_stats.h net/core: Add new basic hardware counter 2018-09-24 12:18:42 -07:00
genetlink.h
geneve.h
gre.h
gro_cells.h
gtp.h
gue.h
hwbm.h
icmp.h
ieee80211_radiotap.h mac80211: support reporting 0-length PSDU in radiotap 2018-09-05 10:08:25 +02:00
ieee802154_netdev.h
if_inet6.h
ife.h
ila.h
inet6_connection_sock.h
inet6_hashtables.h
inet_common.h
inet_connection_sock.h
inet_ecn.h inet: Refactor INET_ECN_decapsulate() 2018-10-17 17:45:07 -07:00
inet_frag.h
inet_hashtables.h
inet_sock.h inet: make sure to grab rcu_read_lock before using ireq->ireq_opt 2018-10-02 15:52:12 -07:00
inet_timewait_sock.h
inetpeer.h
ip6_checksum.h
ip6_fib.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-19 11:03:06 -07:00
ip6_route.h net: Add struct for fib dump filter 2018-10-16 00:13:12 -07:00
ip6_tunnel.h
ip_fib.h net: Enable kernel side filtering of route dumps 2018-10-16 00:14:07 -07:00
ip_tunnels.h
ip_vs.h
ip.h net: Move free of dst_metrics to helper 2018-10-04 21:54:25 -07:00
ipcomp.h
ipconfig.h
ipv6_frag.h
ipv6.h net/ipv6: Make ipv6_route_table_template static 2018-10-10 22:25:10 -07:00
ipx.h
iw_handler.h
kcm.h
l3mdev.h
lag.h
lapb.h
lib80211.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
llc.h llc: avoid blocking in llc_sap_close() 2018-09-13 09:04:58 -07:00
lwtunnel.h
mac80211.h mac80211: implement ieee80211_tx_rate_update to update rate 2018-10-12 13:05:40 +02:00
mac802154.h
mip6.h
mld.h
mpls_iptunnel.h
mpls.h
mrp.h
ncsi.h
ndisc.h
neighbour.h net: Evict neighbor entries on carrier down 2018-10-12 09:47:39 -07:00
net_failover.h
net_namespace.h flow_dissector: implements flow dissector BPF hook 2018-09-14 12:04:33 -07:00
net_ratelimit.h
netevent.h
netlabel.h
netlink.h netlink: replace __NLA_ENSURE implementation 2018-10-12 11:00:22 -07:00
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h
nsh.h
p8022.h
page_pool.h
ping.h
pkt_cls.h net: sched: remove unused helpers 2018-10-04 21:42:28 -07:00
pkt_sched.h net: sched: extend Qdisc with rcu 2018-09-25 20:17:35 -07:00
pptp.h
protocol.h
psample.h
psnap.h
raw.h
rawv6.h
red.h
regulatory.h
request_sock.h
rose.h
route.h net-ipv4: remove 2 always zero parameters from ipv4_redirect() 2018-09-26 20:30:55 -07:00
rsi_91x.h
rtnetlink.h rtnetlink: add rtnl_get_net_ns_capable() 2018-09-05 22:27:11 -07:00
sch_generic.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-09-25 20:29:38 -07:00
scm.h
secure_seq.h
seg6_hmac.h
seg6_local.h
seg6.h
slhc_vj.h
smc.h
snmp.h
sock_reuseport.h
sock.h Revert "net: simplify sock_poll_wait" 2018-10-23 10:57:06 -07:00
Space.h
stp.h
strparser.h
switchdev.h bridge: switchdev: Allow clearing FDB entry offload indication 2018-10-17 17:45:08 -07:00
tcp_states.h
tcp.h tcp: add tcp_reset_xmit_timer() helper 2018-10-23 19:42:44 -07:00
timewait_sock.h
tipc.h
tls.h tls: replace poll implementation with read hook 2018-10-15 12:23:19 -07:00
transp_v6.h
tso.h
tun_proto.h
udp_tunnel.h
udp.h udp: gro behind static key 2018-10-05 11:52:38 -07:00
udplite.h
vsock_addr.h
vxlan.h vxlan: Support marking RDSTs as offloaded 2018-10-17 17:45:08 -07:00
wext.h
wimax.h
x25.h
x25device.h
xdp_sock.h ethtool: don't allow disabling queues with umem installed 2018-10-05 09:31:01 +02:00
xdp.h
xfrm.h