[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF=yD-KD2KVOdbMCVE3D6xwi+D5AC-YTOai521tLMymx8q=OPQ@mail.gmail.com>
Date: Wed, 4 Jan 2017 17:22:26 -0500
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: Soheil Hassas Yeganeh <soheil.kdev@...il.com>
Cc: David Miller <davem@...emloft.net>,
Network Development <netdev@...r.kernel.org>,
Soheil Hassas Yeganeh <soheil@...gle.com>,
Willem de Bruijn <willemb@...gle.com>,
Eric Dumazet <edumazet@...gle.com>,
Neal Cardwell <ncardwell@...gle.com>,
Martin KaFai Lau <kafai@...com>
Subject: Re: [PATCH net-next v2] tcp: provide timestamps for partial writes
On Wed, Jan 4, 2017 at 11:19 AM, Soheil Hassas Yeganeh
<soheil.kdev@...il.com> wrote:
> From: Soheil Hassas Yeganeh <soheil@...gle.com>
>
> For TCP sockets, TX timestamps are only captured when the user data
> is successfully and fully written to the socket. In many cases,
> however, TCP writes can be partial for which no timestamp is
> collected.
>
> Collect timestamps whenever any user data is (fully or partially)
> copied into the socket. Pass tcp_write_queue_tail to tcp_tx_timestamp
> instead of the local skb pointer since it can be set to NULL on
> the error path.
>
> Note that tcp_write_queue_tail can be NULL, even if bytes have been
> copied to the socket. This is because acknowledgements are being
> processed in tcp_sendmsg(), and by the time tcp_tx_timestamp is
> called tcp_write_queue_tail can be NULL. For such cases, this patch
> does not collect any timestamps (i.e., it is best-effort).
>
> This patch is written with suggestions from Willem de Bruijn and
> Eric Dumazet.
>
> Change-log V1 -> V2:
> - Use sockc.tsflags instead of sk->sk_tsflags.
> - Use the same code path for normal writes and errors.
>
> Signed-off-by: Soheil Hassas Yeganeh <soheil@...gle.com>
> Acked-by: Yuchung Cheng <ycheng@...gle.com>
> Cc: Willem de Bruijn <willemb@...gle.com>
> Cc: Eric Dumazet <edumazet@...gle.com>
> Cc: Neal Cardwell <ncardwell@...gle.com>
> Cc: Martin KaFai Lau <kafai@...com>
Acked-by: Willem de Bruijn <willemb@...gle.com>
Powered by blists - more mailing lists