On 09/26/2018 01:33 PM, Roman Gushchin wrote: > This patchset implements per-cpu cgroup local storage and provides > an example how per-cpu and shared cgroup local storage can be used > for efficient accounting of network traffic. > > v3->v2: > 1) incorporated Song's feedback > 2) rebased on top of current bpf-next > > v2->v1: > 1) added a selftest implementing network counters > 2) added a missing free() in cgroup local storage selftest > > Roman Gushchin (10): > bpf: extend cgroup bpf core to allow multiple cgroup storage types > bpf: rework cgroup storage pointer passing > bpf: introduce per-cpu cgroup local storage > bpf: don't allow create maps of per-cpu cgroup local storages > bpf: sync include/uapi/linux/bpf.h to tools/include/uapi/linux/bpf.h > bpftool: add support for PERCPU_CGROUP_STORAGE maps > selftests/bpf: add verifier per-cpu cgroup storage tests > selftests/bpf: extend the storage test to test per-cpu cgroup storage > samples/bpf: extend test_cgrp2_attach2 test to use per-cpu cgroup > storage > selftests/bpf: cgroup local storage-based network counters > > include/linux/bpf-cgroup.h | 55 ++++-- > include/linux/bpf.h | 12 +- > include/linux/bpf_types.h | 1 + > include/uapi/linux/bpf.h | 1 + > kernel/bpf/cgroup.c | 74 +++++--- > kernel/bpf/helpers.c | 25 ++- > kernel/bpf/local_storage.c | 167 +++++++++++++++--- > kernel/bpf/map_in_map.c | 3 +- > kernel/bpf/syscall.c | 20 ++- > kernel/bpf/verifier.c | 23 ++- > net/bpf/test_run.c | 20 ++- > samples/bpf/test_cgrp2_attach2.c | 19 +- > tools/bpf/bpftool/map.c | 4 +- > tools/include/uapi/linux/bpf.h | 1 + > tools/testing/selftests/bpf/Makefile | 6 +- > tools/testing/selftests/bpf/netcnt_common.h | 23 +++ > tools/testing/selftests/bpf/netcnt_prog.c | 71 ++++++++ > .../selftests/bpf/test_cgroup_storage.c | 60 ++++++- > tools/testing/selftests/bpf/test_netcnt.c | 153 ++++++++++++++++ > tools/testing/selftests/bpf/test_verifier.c | 139 ++++++++++++++- > 20 files changed, 778 insertions(+), 99 deletions(-) > create mode 100644 tools/testing/selftests/bpf/netcnt_common.h > create mode 100644 tools/testing/selftests/bpf/netcnt_prog.c > create mode 100644 tools/testing/selftests/bpf/test_netcnt.c >
Applied to bpf-next, thanks Roman!