[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250409121125.48510acb@gandalf.local.home>
Date: Wed, 9 Apr 2025 12:11:25 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Jiayuan Chen <jiayuan.chen@...ux.dev>
Cc: bpf@...r.kernel.org, mrpre@....com, Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>, John Fastabend
<john.fastabend@...il.com>, Andrii Nakryiko <andrii@...nel.org>, Martin
KaFai Lau <martin.lau@...ux.dev>, Eduard Zingerman <eddyz87@...il.com>,
Song Liu <song@...nel.org>, Yonghong Song <yonghong.song@...ux.dev>, KP
Singh <kpsingh@...nel.org>, Stanislav Fomichev <sdf@...ichev.me>, Hao Luo
<haoluo@...gle.com>, Jiri Olsa <jolsa@...nel.org>, Jakub Sitnicki
<jakub@...udflare.com>, Masami Hiramatsu <mhiramat@...nel.org>, Mathieu
Desnoyers <mathieu.desnoyers@...icios.com>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski
<kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Simon Horman
<horms@...nel.org>, Jesper Dangaard Brouer <hawk@...nel.org>,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
linux-trace-kernel@...r.kernel.org
Subject: Re: [PATCH bpf-next v1] bpf, sockmap: Introduce tracing capability
for sockmap
On Wed, 9 Apr 2025 18:29:33 +0800
Jiayuan Chen <jiayuan.chen@...ux.dev> wrote:
> +#define trace_sockmap_skmsg_redirect(sk, prog, msg, act) \
> + trace_sockmap_redirect((sk), "msg", (prog), (msg)->sg.size, (act))
> +
> +#define trace_sockmap_skb_redirect(sk, prog, skb, act) \
> + trace_sockmap_redirect((sk), "skb", (prog), (skb)->len, (act))
> +
> +TRACE_EVENT(sockmap_redirect,
> + TP_PROTO(const struct sock *sk, const char *type,
> + const struct bpf_prog *prog, int length, int act),
> + TP_ARGS(sk, type, prog, length, act),
> +
> + TP_STRUCT__entry(
> + __field(const void *, sk)
> + __field(const char *, type)
On 64bit, const char * is 8 bytes, and you are pointing it to a string of
size 4 bytes (3 chars and '\0'). Why not just make it a constant string, or
better yet, an enum?
-- Steve
> + __field(__u16, family)
> + __field(__u16, protocol)
> + __field(int, prog_id)
> + __field(int, length)
> + __field(int, act)
> + ),
> +
> + TP_fast_assign(
> + __entry->sk = sk;
> + __entry->type = type;
> + __entry->family = sk->sk_family;
> + __entry->protocol = sk->sk_protocol;
> + __entry->prog_id = prog->aux->id;
> + __entry->length = length;
> + __entry->act = act;
> + ),
> +
Powered by blists - more mailing lists