[PATCH bpf-next 0/5] bpf: bpf maps memory accounting cleanup

From: Roman Gushchin
Date: Wed May 29 2019 - 21:07:41 EST


During my work on memcg-based memory accounting for bpf maps
I've done some cleanups and refactorings of the existing
memlock rlimit-based code. It makes it more robust, unifies
size to pages conversion, size checks and corresponding error
codes. Also it adds coverage for cgroup local storage and
socket local storage maps.

It looks like some preliminary work on the mm side might be
required to start working on the memcg-based accounting,
so I'm sending these patches as a separate patchset.


Roman Gushchin (5):
bpf: add memlock precharge check for cgroup_local_storage
bpf: add memlock precharge for socket local storage
bpf: group memory related fields in struct bpf_map_memory
bpf: rework memlock-based memory accounting for maps
bpf: move memory size checks to bpf_map_charge_init()

include/linux/bpf.h | 15 ++++--
kernel/bpf/arraymap.c | 18 ++++----
kernel/bpf/cpumap.c | 9 ++--
kernel/bpf/devmap.c | 14 +++---
kernel/bpf/hashtab.c | 14 ++----
kernel/bpf/local_storage.c | 13 ++++--
kernel/bpf/lpm_trie.c | 8 +---
kernel/bpf/queue_stack_maps.c | 13 +++---
kernel/bpf/reuseport_array.c | 17 +++----
kernel/bpf/stackmap.c | 28 ++++++-----
kernel/bpf/syscall.c | 87 ++++++++++++++++++-----------------
kernel/bpf/xskmap.c | 10 ++--
net/core/bpf_sk_storage.c | 12 ++++-
net/core/sock_map.c | 9 +---
14 files changed, 132 insertions(+), 135 deletions(-)

--
2.20.1