Re: [PATCHv2 perf/core 5/7] tools lib bpf: Add bpf_program__pin()

From: Wangnan (F)
Date: Tue Jan 24 2017 - 20:07:05 EST




On 2017/1/25 9:04, Wangnan (F) wrote:


On 2017/1/23 9:11, Joe Stringer wrote:
Add a new API to pin a BPF program to the filesystem. The user can
specify the path full path within a BPF filesystem to pin the program.
Programs with multiple instances are pinned as 'foo', 'foo_1', 'foo_2',
and so on.

Signed-off-by: Joe Stringer <joe@xxxxxxx>
---
v2: Don't automount BPF filesystem
Split program, map, object pinning into separate APIs and separate
patches.
---

[SNIP]

+int bpf_program__pin(struct bpf_program *prog, const char *path)

In your next patch please let caller select one instance:

int bpf_program__pin(struct bpf_program *prog, int instance, const char *path)
(please choose a better name)

Then your can wrap it with another function to pin all instances, implement
naming schema (%s_%d) there.

Then implement naming schema in bpf_object__pin like:

%s/objectname_mapname
%s/objectname_progname_%d


Is it possible to use directory tree instead?

%s/object/mapname
%s/object/prog/instance

Thank you.