Messages in this thread | | | Date | Fri, 18 Aug 2023 10:50:30 -0700 | Subject | Re: [PATCH bpf-next v5] selftests/bpf: trace_helpers.c: optimize kallsyms cache | From | Yonghong Song <> |
| |
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 > >
| |