[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <817af9ec-0ba3-fab0-6d8a-4529ede337b5@linux.dev>
Date: Fri, 18 Aug 2023 10:50:30 -0700
From: Yonghong Song <yonghong.song@...ux.dev>
To: Rong Tao <rtoax@...mail.com>, olsajiri@...il.com
Cc: andrii@...nel.org, ast@...nel.org, bpf@...r.kernel.org,
daniel@...earbox.net, haoluo@...gle.com, john.fastabend@...il.com,
kpsingh@...nel.org, linux-kernel@...r.kernel.org,
linux-kselftest@...r.kernel.org, martin.lau@...ux.dev,
mykolal@...com, rongtao@...tc.cn, sdf@...gle.com, shuah@...nel.org,
song@...nel.org
Subject: Re: [PATCH bpf-next v5] selftests/bpf: trace_helpers.c: optimize
kallsyms cache
On 8/18/23 8:36 AM, Rong Tao wrote:
> Hi, jirka
>
> Sadly, we can't include libbpf_internal.h in trace_helpers.{h,c}.
> we only have the following headers when compile samples/bpf/:
>
> tree of samples/bpf/libbpf/
> +-- bpf_helper_defs.h
> +-- include
> | '-- bpf
> | +-- bpf_core_read.h
> | +-- bpf_endian.h
> | +-- bpf.h
> | +-- bpf_helper_defs.h
> | +-- bpf_helpers.h
> | +-- bpf_tracing.h
> | +-- btf.h
> | +-- libbpf_common.h
> | +-- libbpf.h
> | +-- libbpf_legacy.h
> | +-- libbpf_version.h
> | +-- skel_internal.h
> | '-- usdt.bpf.h
> +-- libbpf.a
>
> No libbpf_internal.h here.
>
> What if we add a declaration to libbpf_ensure_mem() in trace_helpers.c?
[~/work/bpf-next/tools/testing/selftests/bpf/prog_tests (master)]$ grep
libbpf_internal.h *
cpu_mask.c:#include "bpf/libbpf_internal.h"
kprobe_multi_test.c:#include "bpf/libbpf_internal.h"
kprobe_multi_testmod_test.c:#include "bpf/libbpf_internal.h"
module_fentry_shadow.c:#include "bpf/libbpf_internal.h"
perf_branches.c:#include "bpf/libbpf_internal.h"
perf_buffer.c:#include "bpf/libbpf_internal.h"
raw_tp_test_run.c:#include "bpf/libbpf_internal.h"
[~/work/bpf-next/tools/testing/selftests/bpf/prog_tests (master)]$ grep
libbpf_ensure_mem *.c
kprobe_multi_test.c: err = libbpf_ensure_mem((void **) &syms,
&cap,
[~/work/bpf-next/tools/testing/selftests/bpf/prog_tests (master)]$
Looks like it is already used for selftets.
The libbpf_internal.h exists in the following directory when you build
the selftest.
[~/work/bpf-next/tools/testing/selftests/bpf/tools/include/bpf (master)]$ ls
bpf_core_read.h bpf.h bpf_helpers.h btf.h
libbpf_common.h libbpf_internal.h libbpf_version.h relo_core.h
usdt.bpf.h
bpf_endian.h bpf_helper_defs.h bpf_tracing.h hashmap.h libbpf.h
libbpf_legacy.h nlattr.h skel_internal.h
>
> Good Day,
> Rong Tao
>
>
Powered by blists - more mailing lists