On Mon, Nov 28, 2016 at 2:07 AM, Yuchung Cheng <ych...@google.com> wrote: > From: Francis Yan <francisy...@gmail.com> > > This patch exports the sender chronograph stats via the socket > SO_TIMESTAMPING channel. Currently we can instrument how long a > particular application unit of data was queued in TCP by tracking > SOF_TIMESTAMPING_TX_SOFTWARE and SOF_TIMESTAMPING_TX_SCHED. Having > these sender chronograph stats exported simultaneously along with > these timestamps allow further breaking down the various sender > limitation. For example, a video server can tell if a particular > chunk of video on a connection takes a long time to deliver because > TCP was experiencing small receive window. It is not possible to > tell before this patch without packet traces. > > To prepare these stats, the user needs to set > SOF_TIMESTAMPING_OPT_STATS and SOF_TIMESTAMPING_OPT_TSONLY flags > while requesting other SOF_TIMESTAMPING TX timestamps. When the > timestamps are available in the error queue, the stats are returned > in a separate control message of type SCM_TIMESTAMPING_OPT_STATS, > in a list of TLVs (struct nlattr) of types: TCP_NLA_BUSY_TIME, > TCP_NLA_RWND_LIMITED, TCP_NLA_SNDBUF_LIMITED. Unit is microsecond. > > Signed-off-by: Francis Yan <francisy...@gmail.com> > Signed-off-by: Yuchung Cheng <ych...@google.com> > Signed-off-by: Soheil Hassas Yeganeh <soh...@google.com> > ---
Acked-by: Neal Cardwell <ncardw...@google.com> neal