mbox series

[bpf-next,0/2] bpf: change uapi for bpf iterator map elements

Message ID 20200802042126.2119783-1-yhs@fb.com
Headers show
Series bpf: change uapi for bpf iterator map elements | expand

Message

Yonghong Song Aug. 2, 2020, 4:21 a.m. UTC
Andrii raised a concern that current uapi for bpf iterator map
element is a little restrictive and not suitable for future potential
complex customization. This is a valid suggestion, considering people
may indeed add more complex custimization to the iterator, e.g.,
cgroup_id + user_id, etc. for task or task_file. Another example might
be map_id plus additional control so that the bpf iterator may bail
out a bucket earlier if a bucket has too many elements which may hold
lock too long and impact other parts of systems.

Patch #1 modified uapi with kernel changes. Patch #2
adjusted libbpf api accordingly.

Yonghong Song (2):
  bpf: change uapi for bpf iterator map elements
  libbpf: support new uapi for map element bpf iterator

 include/linux/bpf.h            | 10 ++++---
 include/uapi/linux/bpf.h       | 15 +++++-----
 kernel/bpf/bpf_iter.c          | 52 +++++++++++++++-------------------
 kernel/bpf/map_iter.c          | 37 ++++++++++++++++++------
 kernel/bpf/syscall.c           |  2 +-
 net/core/bpf_sk_storage.c      | 37 ++++++++++++++++++------
 tools/include/uapi/linux/bpf.h | 15 +++++-----
 tools/lib/bpf/bpf.c            |  4 ++-
 tools/lib/bpf/bpf.h            |  5 ++--
 tools/lib/bpf/libbpf.c         |  7 +++--
 10 files changed, 115 insertions(+), 69 deletions(-)