On Wed, Sep 7, 2016 at 5:27 PM, David Miller <da...@davemloft.net> wrote:
>
> 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.
Thanks for raising the concern. The space requirement and timing
resolution should indeed be justified better on the motivation and the
dev plan. We would resubmit a v2 with a cover letter detailing those.

Reply via email to