lkml.org 
[lkml]   [2020]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH bpf-next v3 11/29] 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 119f52a99dc1..bc797adca44c 100644
    --- a/net/core/sock_map.c
    +++ b/net/core/sock_map.c
    @@ -38,7 +38,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);

    @@ -829,7 +829,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);
    @@ -1011,7 +1012,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-07-30 23:25    [W:3.640 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site