On Mon, Jul 27, 2020 at 12:25 PM Roman Gushchin <guro@xxxxxx> wrote: > > Do not use rlimit-based memory accounting for queue_stack maps. > It has been replaced with the memcg-based memory accounting. > > Signed-off-by: Roman Gushchin <guro@xxxxxx> Acked-by: Song Liu <songliubraving@xxxxxx> > --- > kernel/bpf/queue_stack_maps.c | 16 ++++------------ > 1 file changed, 4 insertions(+), 12 deletions(-) > > diff --git a/kernel/bpf/queue_stack_maps.c b/kernel/bpf/queue_stack_maps.c > index 44184f82916a..92e73c35a34a 100644 > --- a/kernel/bpf/queue_stack_maps.c > +++ b/kernel/bpf/queue_stack_maps.c > @@ -66,29 +66,21 @@ static int queue_stack_map_alloc_check(union bpf_attr *attr) > > static struct bpf_map *queue_stack_map_alloc(union bpf_attr *attr) > { > - int ret, numa_node = bpf_map_attr_numa_node(attr); > - struct bpf_map_memory mem = {0}; > + int numa_node = bpf_map_attr_numa_node(attr); > struct bpf_queue_stack *qs; > - u64 size, queue_size, cost; > + u64 size, queue_size; > > size = (u64) attr->max_entries + 1; > - cost = queue_size = sizeof(*qs) + size * attr->value_size; > - > - ret = bpf_map_charge_init(&mem, cost); > - if (ret < 0) > - return ERR_PTR(ret); > + queue_size = sizeof(*qs) + size * attr->value_size; > > qs = bpf_map_area_alloc(queue_size, numa_node); > - if (!qs) { > - bpf_map_charge_finish(&mem); > + if (!qs) > return ERR_PTR(-ENOMEM); > - } > > memset(qs, 0, sizeof(*qs)); > > bpf_map_init_from_attr(&qs->map, attr); > > - bpf_map_charge_move(&qs->map.memory, &mem); > qs->size = size; > > raw_spin_lock_init(&qs->lock); > -- > 2.26.2 >