Print this page
5295 remove maxburst logic from TCP's send algorithm Reviewed by: Dan McDonald <danmcd@omniti.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/inet/tcp/tcp_timers.c
          +++ new/usr/src/uts/common/inet/tcp/tcp_timers.c
↓ open down ↓ 15 lines elided ↑ open up ↑
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
  24   24   * Copyright (c) 2011 Nexenta Systems, Inc. All rights reserved.
  25   25   * Copyright 2011 Joyent, Inc.  All rights reserved.
       26 + * Copyright (c) 2014 by Delphix. All rights reserved.
  26   27   */
  27   28  
  28   29  #include <sys/types.h>
  29   30  #include <sys/strlog.h>
  30   31  #include <sys/strsun.h>
  31   32  #include <sys/squeue_impl.h>
  32   33  #include <sys/squeue.h>
  33   34  #include <sys/callo.h>
  34   35  #include <sys/strsubr.h>
  35   36  
↓ open down ↓ 1023 lines elided ↑ open up ↑
1059 1060                  mss = tcp->tcp_swnd;
1060 1061  
1061 1062          if ((mp = tcp->tcp_xmit_head) != NULL)
1062 1063                  mp->b_prev = (mblk_t *)ddi_get_lbolt();
1063 1064          mp = tcp_xmit_mp(tcp, mp, mss, NULL, NULL, tcp->tcp_suna, B_TRUE, &mss,
1064 1065              B_TRUE);
1065 1066  
1066 1067          /*
1067 1068           * When slow start after retransmission begins, start with
1068 1069           * this seq no.  tcp_rexmit_max marks the end of special slow
1069      -         * start phase.  tcp_snd_burst controls how many segments
1070      -         * can be sent because of an ack.
     1070 +         * start phase.
1071 1071           */
1072 1072          tcp->tcp_rexmit_nxt = tcp->tcp_suna;
1073      -        tcp->tcp_snd_burst = TCP_CWND_SS;
1074 1073          if ((tcp->tcp_valid_bits & TCP_FSS_VALID) &&
1075 1074              (tcp->tcp_unsent == 0)) {
1076 1075                  tcp->tcp_rexmit_max = tcp->tcp_fss;
1077 1076          } else {
1078 1077                  tcp->tcp_rexmit_max = tcp->tcp_snxt;
1079 1078          }
1080 1079          tcp->tcp_rexmit = B_TRUE;
1081 1080          tcp->tcp_dupack_cnt = 0;
1082 1081  
1083 1082          /*
↓ open down ↓ 28 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX