On 08/01/16 at 05:02P, Andrew Gallatin wrote: > Author: gallatin > Date: Mon Aug 1 17:02:21 2016 > New Revision: 303626 > URL: https://svnweb.freebsd.org/changeset/base/303626 > > Log: > Rework IPV6 TCP path MTU discovery to match IPv4 > > - Re-write tcp_ctlinput6() to closely mimic the IPv4 tcp_ctlinput() > > - Now that tcp_ctlinput6() updates t_maxseg, we can allow ip6_output() > to send TCP packets without looking at the tcp host cache for every > single transmit. > > - Make the icmp6 code mimic the IPv4 code & avoid returning > PRC_HOSTDEAD because it is so expensive. > > Without these changes in place, every TCP6 pmtu discovery or host > unreachable ICMP resulted in a call to in6_pcbnotify() which walks the > tcbinfo table with the write lock held. Because the tcbinfo table is > shared between IPv4 and IPv6, this causes huge scalabilty issues on > servers with lots of (~100K) TCP connections, to the point where even > a small percent of IPv6 traffic had a disproportionate impact on > overall throughput. > > Reviewed by: bz, rrs, ae (all earlier versions), lstewart (in > Netflix's tree) > Sponsored by: Netflix > Differential Revision: https://reviews.freebsd.org/D7272
Drew, What do you think about getting this into stable/11? Cheers, Hiren
pgpgs4DV2cEsP.pgp
Description: PGP signature