Em Thu, Jan 26, 2017 at 01:19:55PM -0800, Joe Stringer escreveu: > This series adds pinning functionality for maps, programs, and objects. > Library users may call bpf_map__pin(map, path) or bpf_program__pin(prog, path) > to pin maps and programs separately, or use bpf_object__pin(obj, path) to > pin all maps and programs from the BPF object to the path. The map and program > variations require a path where it will be pinned in the filesystem, > and the object variation will create named directories for each program with > instances within, and mount the maps by name under the path. > > For example, with the directory '/sys/fs/bpf/foo' and a BPF object which > contains two instances of a program named 'bar', and a map named 'baz': > /sys/fs/bpf/foo/bar/0 > /sys/fs/bpf/foo/bar/1 > /sys/fs/bpf/foo/baz
Thanks, applied, after some minor fixes. - Arnaldo > --- > v3: Split out bpf_program__pin_instance(). > Change the paths from PATH/{maps,progs}/foo to the above. > Drop the patches that were applied. > Add a perf test to check that pinning works. > v2: Wang Nan provided improvements to patch 1. > Dropped patch 2 from v1. > Added acks for acked patches. > Split the bpf_obj__pin() to also provide map / program pinning APIs. > Allow users to provide full filesystem path (don't autodetect/mount > BPFFS). > v1: Initial post. > > Joe Stringer (6): > tools lib bpf: Add BPF program pinning APIs. > tools lib bpf: Add bpf_map__pin() > tools lib bpf: Add bpf_object__pin() > tools perf util: Make rm_rf(path) argument const > tools lib api fs: Add bpf_fs filesystem detector > perf test: Add libbpf pinning test > > tools/lib/api/fs/fs.c | 16 +++++ > tools/lib/api/fs/fs.h | 1 + > tools/lib/bpf/libbpf.c | 188 > +++++++++++++++++++++++++++++++++++++++++++++++++ > tools/lib/bpf/libbpf.h | 5 ++ > tools/perf/tests/bpf.c | 42 ++++++++++- > tools/perf/util/util.c | 2 +- > tools/perf/util/util.h | 2 +- > 7 files changed, 253 insertions(+), 3 deletions(-) > > -- > 2.11.0