Re: [PATCH net-next] net/sock: Introduce trace_sk_data_ready()

From: Eric Dumazet
Date: Thu Sep 29 2022 - 12:22:01 EST


On Wed, Sep 28, 2022 at 3:15 PM Peilin Ye <yepeilin.cs@xxxxxxxxx> wrote:
>
> From: Peilin Ye <peilin.ye@xxxxxxxxxxxxx>
>
> As suggested by Cong, introduce a tracepoint for all ->sk_data_ready()
> and ->saved_data_ready() call sites. For example:
>
> <...>
> cat-7011 [005] ..... 92.018695: sk_data_ready: family=16 protocol=17 func=sock_def_readable
> cat-7012 [005] ..... 93.612922: sk_data_ready: family=16 protocol=16 func=sock_def_readable
> cat-7013 [005] ..... 94.653854: sk_data_ready: family=16 protocol=16 func=sock_def_readable
> <...>
>
> Suggested-by: Cong Wang <cong.wang@xxxxxxxxxxxxx>
> Signed-off-by: Peilin Ye <peilin.ye@xxxxxxxxxxxxx>

I will not comment on if/why these tracepoints are useful, only on the
way you did this work.

I would rather split this in two parts.

First patch adding and using a common helper.

static inline void sock_data_ready(struct sock *sk)
{
sk->sk_data_ready(sk);
}

s/sk->sk_data_ready(sk)/sock_data_ready(sk)/


Second patch adding the tracing point once in the helper ?

Alternatively, why not add the tracepoint directly in the called
functions (we have few of them),
instead of all call points ?