Re: [PATCH perf/core 0/6] Libbpf improvements

From: Wangnan (F)
Date: Thu Jan 19 2017 - 05:24:39 EST




On 2017/1/19 7:57, Joe Stringer wrote:
Patch 1 fixes an issue when using drastically different BPF map definitions
inside ELFs from a client using libbpf, vs the map definition libbpf uses.

Patch 2 is a trivial typo fix.

Patches 3-5 add some simple, useful helper functions for setting prog type
and retrieving libbpf errors without depending on kernel headers from
userspace programs.

Patch 6 adds a new pinning functionality for an entire object. Calling
bpf_object__pin(obj, subpath) will mount all programs from the BPF object
to $bpf_fs_path/$subpath/progs/$progname, and all maps from the BPF object
to $bpf_fs_path/$subpath/maps/$mapname. The first program with a particular
name will be mounted with its progname and the suffix "_0"; subsequent
programs with the same will have "_1", and so on; duplicate maps with the
same name are disallowed.

Joe Stringer (6):
tools lib bpf: Fix map offsets in relocation
tools lib bpf: Fix grammar in map_idx warning
tools lib bpf: Define prog_type fns with macro
tools lib bpf: Add set/is helpers for all prog types
tools lib bpf: Add libbpf_get_error()
tools lib bpf: Add bpf_object__pin()

tools/lib/bpf/libbpf.c | 197 +++++++++++++++++++++++++++++++++++++++++-------
tools/lib/bpf/libbpf.h | 15 +++-
tools/perf/tests/llvm.c | 2 +-
3 files changed, 185 insertions(+), 29 deletions(-)

For patch 3,4 and 5:

Acked-by: Wang Nan <wangnan0@xxxxxxxxxx>

See my comment to commits 1, 2 and 6.

Thank you.