From: "Francis Y. Yan" <francisy...@gmail.com>
Date: Tue,  6 Sep 2016 18:32:40 -0700

> diff --git a/include/linux/tcp.h b/include/linux/tcp.h
> index 7be9b12..f5b588e 100644
> --- a/include/linux/tcp.h
> +++ b/include/linux/tcp.h
> @@ -176,6 +176,7 @@ struct tcp_sock {
>                                * were acked.
>                                */
>       struct u64_stats_sync syncp; /* protects 64bit vars (cf tcp_get_info()) 
> */
> +     seqcount_t seqcnt;      /* proctects rwnd-limited-related vars, etc. */
>  
>       u32     snd_una;        /* First byte we want an ack for        */
>       u32     snd_sml;        /* Last byte of the most recently transmitted 
> small packet */
> @@ -204,6 +205,8 @@ struct tcp_sock {
>  
>       u32     window_clamp;   /* Maximal window to advertise          */
>       u32     rcv_ssthresh;   /* Current window clamp                 */
> +     struct skb_mstamp rwnd_limited_ts; /* Last timestamp limited by rwnd */
> +     u64     rwnd_limited;   /* Total time (us) limited by rwnd */
>  
>       /* Information of the most recently (s)acked skb */
>       struct tcp_rack {

I understand completely the usefulness of this change, but wow that is a lot of
new TCP socket space taken up just to export some time values in tcp_info for
debugging and statistics.

Reply via email to