lkml.org 
[lkml]   [2020]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH bpf-next v6 16/34] bpf: refine memcg-based memory accounting for sockmap and sockhash maps
    Date
    Include internal metadata into the memcg-based memory accounting.
    Also include the memory allocated on updating an element.

    Signed-off-by: Roman Gushchin <guro@fb.com>
    Acked-by: Song Liu <songliubraving@fb.com>
    ---
    net/core/sock_map.c | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    diff --git a/net/core/sock_map.c b/net/core/sock_map.c
    index ddc899e83313..30455d1952e7 100644
    --- a/net/core/sock_map.c
    +++ b/net/core/sock_map.c
    @@ -39,7 +39,7 @@ static struct bpf_map *sock_map_alloc(union bpf_attr *attr)
    attr->map_flags & ~SOCK_CREATE_FLAG_MASK)
    return ERR_PTR(-EINVAL);

    - stab = kzalloc(sizeof(*stab), GFP_USER);
    + stab = kzalloc(sizeof(*stab), GFP_USER | __GFP_ACCOUNT);
    if (!stab)
    return ERR_PTR(-ENOMEM);

    @@ -975,7 +975,8 @@ static struct bpf_shtab_elem *sock_hash_alloc_elem(struct bpf_shtab *htab,
    }
    }

    - new = kmalloc_node(htab->elem_size, GFP_ATOMIC | __GFP_NOWARN,
    + new = kmalloc_node(htab->elem_size,
    + GFP_ATOMIC | __GFP_NOWARN | __GFP_ACCOUNT,
    htab->map.numa_node);
    if (!new) {
    atomic_dec(&htab->count);
    @@ -1116,7 +1117,7 @@ static struct bpf_map *sock_hash_alloc(union bpf_attr *attr)
    if (attr->key_size > MAX_BPF_STACK)
    return ERR_PTR(-E2BIG);

    - htab = kzalloc(sizeof(*htab), GFP_USER);
    + htab = kzalloc(sizeof(*htab), GFP_USER | __GFP_ACCOUNT);
    if (!htab)
    return ERR_PTR(-ENOMEM);

    --
    2.26.2
    \
     
     \ /
      Last update: 2020-11-17 04:48    [W:4.157 / U:0.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site