Print this page
11546 Track TCP round-trip time in nanoseconds
Portions contributed by: Cody Peter Mello <cody.mello@joyent.com>
Portions contributed by: Brandon Baker <bbaker@delphix.com>
Reviewed by: Jason King <jason.king@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/inet/tcp.h
          +++ new/usr/src/uts/common/inet/tcp.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  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   * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23   * Copyright (c) 2011, Joyent, Inc. All rights reserved.
  24   24   * Copyright (c) 2011 Nexenta Systems, Inc. All rights reserved.
  25      - * Copyright (c) 2014 by Delphix. All rights reserved.
       25 + * Copyright (c) 2014, 2016 by Delphix. All rights reserved.
  26   26   */
  27   27  /* Copyright (c) 1990 Mentat Inc. */
  28   28  
  29   29  #ifndef _INET_TCP_H
  30   30  #define _INET_TCP_H
  31   31  
  32   32  #ifdef  __cplusplus
  33   33  extern "C" {
  34   34  #endif
  35   35  
↓ open down ↓ 239 lines elided ↑ open up ↑
 275  275  
 276  276          mblk_t  *tcp_rcv_list;          /* Queued until push, urgent data, */
 277  277          mblk_t  *tcp_rcv_last_head;     /* optdata, or the count exceeds */
 278  278          mblk_t  *tcp_rcv_last_tail;     /* tcp_rcv_push_wait. */
 279  279          uint32_t tcp_rcv_cnt;           /* tcp_rcv_list is b_next chain. */
 280  280  
 281  281          uint32_t tcp_cwnd_ssthresh;     /* Congestion window */
 282  282          uint32_t tcp_cwnd_max;
 283  283          uint32_t tcp_csuna;             /* Clear (no rexmits in window) suna */
 284  284  
 285      -        clock_t tcp_rtt_sa;             /* Round trip smoothed average */
 286      -        clock_t tcp_rtt_sd;             /* Round trip smoothed deviation */
 287      -        clock_t tcp_rtt_update;         /* Round trip update(s) */
      285 +        hrtime_t tcp_rtt_sa;            /* Round trip smoothed average */
      286 +        hrtime_t tcp_rtt_sd;            /* Round trip smoothed deviation */
      287 +        uint32_t tcp_rtt_update;        /* Round trip update(s) */
 288  288          clock_t tcp_ms_we_have_waited;  /* Total retrans time */
 289  289  
 290  290          uint32_t tcp_swl1;              /* These help us avoid using stale */
 291  291          uint32_t tcp_swl2;              /*  packets to update state */
 292  292  
 293  293          uint32_t tcp_rack;              /* Seq # we have acked */
 294  294          uint32_t tcp_rack_cnt;          /* # of segs we have deferred ack */
 295  295          uint32_t tcp_rack_cur_max;      /* # of segs we may defer ack for now */
 296  296          uint32_t tcp_rack_abs_max;      /* # of segs we may defer ack ever */
 297  297          timeout_id_t    tcp_ack_tid;    /* Delayed ACK timer ID */
↓ open down ↓ 301 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX