[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d2ab1647-c832-c982-5952-ab7a415f7c76@gmail.com>
Date: Mon, 16 Apr 2018 08:43:31 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Yafang Shao <laoar.shao@...il.com>, davem@...emloft.net
Cc: kuznet@....inr.ac.ru, yoshfuji@...ux-ipv6.org,
songliubraving@...com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next] net: introduce a new tracepoint for
tcp_rcv_space_adjust
On 04/16/2018 08:33 AM, Yafang Shao wrote:
> tcp_rcv_space_adjust is called every time data is copied to user space,
> introducing a tcp tracepoint for which could show us when the packet is
> copied to user.
> This could help us figure out whether there's latency in user process.
>
> When a tcp packet arrives, tcp_rcv_established() will be called and with
> the existed tracepoint tcp_probe we could get the time when this packet
> arrives.
> Then this packet will be copied to user, and tcp_rcv_space_adjust will
> be called and with this new introduced tracepoint we could get the time
> when this packet is copied to user.
>
> arrives time : user process time => latency caused by user
> tcp_probe tcp_rcv_space_adjust
>
> Hence in the prink message, sk is printed as a key to connect these two
> tracepoints.
>
socket pointer is not a key.
TCP sockets can be reused pretty fast after free.
I suggest you go for cookie instead, this is an unique 64bit identifier.
( sock_gen_cookie() for details )
Powered by blists - more mailing lists