[PATCH 0/4] bpf: Add more information into bpffs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We have a bpf manager (bpfman) running on the host to maintain the
lifecycle of all the bpf progs and maps on this host.

The purpose of the bpfman includes,
- pin and unpin bpf progs and maps
- attach and detach bpf progs
- update running bpf progs and the related bpf maps
- update some running bpf progs only without updating the related bpf
  maps
- check the possible conflict of bpf progs
- etc

In order to safely do these works, we used many tools to get the
required information, like bpftool and some other customized tools. Some
of these works seem a little heavy. After the preloaded progs.debug and
maps.debug are introduced, we decided to improve these two files to get
the full view of progs and maps that required by bpfman.

This patchset includes below features,
- the pinned file of progs and maps are introduced into these two files
- the relateship of progs and maps is introduced into progs.debug

With these features we may also improve how bpftool get the pinned
file[1] in the next step.

[1]. https://github.com/torvalds/linux/blob/master/tools/bpf/bpftool/prog.c#L648

Yafang Shao (4):
  bpf: Add pin_name into struct bpf_prog_aux
  bpf: Add pin_name into struct bpf_map
  bpf: show pinned file name in {progs, maps}.debug
  bpf: Show the used maps of each prog in progs.debug

 include/linux/bpf.h                           |   3 +
 include/uapi/linux/bpf.h                      |   1 +
 kernel/bpf/inode.c                            |  29 +-
 kernel/bpf/preload/iterators/iterators.bpf.c  |  33 +-
 kernel/bpf/preload/iterators/iterators.skel.h | 676 +++++++++++++++-----------
 5 files changed, 460 insertions(+), 282 deletions(-)

-- 
1.8.3.1




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux