linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Song Liu <song@kernel.org>
To: Roman Gushchin <guro@fb.com>
Cc: bpf <bpf@vger.kernel.org>, Networking <netdev@vger.kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Kernel Team <kernel-team@fb.com>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH bpf-next v2 10/35] bpf: memcg-based memory accounting for socket storage maps
Date: Mon, 27 Jul 2020 16:57:39 -0700	[thread overview]
Message-ID: <CAPhsuW6kEhrYKkGKrPH5+xT_8CutfFicC3SKFcLDg-rLODVM5A@mail.gmail.com> (raw)
In-Reply-To: <20200727184506.2279656-11-guro@fb.com>

On Mon, Jul 27, 2020 at 12:28 PM Roman Gushchin <guro@fb.com> wrote:
>
> Account memory used by the socket storage.
>
> Signed-off-by: Roman Gushchin <guro@fb.com>

Acked-by: Song Liu <songliubraving@fb.com>

> ---
>  net/core/bpf_sk_storage.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/net/core/bpf_sk_storage.c b/net/core/bpf_sk_storage.c
> index eafcd15e7dfd..fbcd03cd00d3 100644
> --- a/net/core/bpf_sk_storage.c
> +++ b/net/core/bpf_sk_storage.c
> @@ -130,7 +130,8 @@ static struct bpf_sk_storage_elem *selem_alloc(struct bpf_sk_storage_map *smap,
>         if (charge_omem && omem_charge(sk, smap->elem_size))
>                 return NULL;
>
> -       selem = kzalloc(smap->elem_size, GFP_ATOMIC | __GFP_NOWARN);
> +       selem = kzalloc(smap->elem_size,
> +                       GFP_ATOMIC | __GFP_NOWARN | __GFP_ACCOUNT);
>         if (selem) {
>                 if (value)
>                         memcpy(SDATA(selem)->data, value, smap->map.value_size);
> @@ -337,7 +338,8 @@ static int sk_storage_alloc(struct sock *sk,
>         if (err)
>                 return err;
>
> -       sk_storage = kzalloc(sizeof(*sk_storage), GFP_ATOMIC | __GFP_NOWARN);
> +       sk_storage = kzalloc(sizeof(*sk_storage),
> +                            GFP_ATOMIC | __GFP_NOWARN | __GFP_ACCOUNT);
>         if (!sk_storage) {
>                 err = -ENOMEM;
>                 goto uncharge;
> @@ -677,7 +679,7 @@ static struct bpf_map *bpf_sk_storage_map_alloc(union bpf_attr *attr)
>         u64 cost;
>         int ret;
>
> -       smap = kzalloc(sizeof(*smap), GFP_USER | __GFP_NOWARN);
> +       smap = kzalloc(sizeof(*smap), GFP_USER | __GFP_NOWARN | __GFP_ACCOUNT);
>         if (!smap)
>                 return ERR_PTR(-ENOMEM);
>         bpf_map_init_from_attr(&smap->map, attr);
> @@ -695,7 +697,7 @@ static struct bpf_map *bpf_sk_storage_map_alloc(union bpf_attr *attr)
>         }
>
>         smap->buckets = kvcalloc(sizeof(*smap->buckets), nbuckets,
> -                                GFP_USER | __GFP_NOWARN);
> +                                GFP_USER | __GFP_NOWARN | __GFP_ACCOUNT);
>         if (!smap->buckets) {
>                 bpf_map_charge_finish(&smap->map.memory);
>                 kfree(smap);
> @@ -1024,7 +1026,7 @@ bpf_sk_storage_diag_alloc(const struct nlattr *nla_stgs)
>         }
>
>         diag = kzalloc(sizeof(*diag) + sizeof(diag->maps[0]) * nr_maps,
> -                      GFP_KERNEL);
> +                      GFP_KERNEL | __GFP_ACCOUNT);
>         if (!diag)
>                 return ERR_PTR(-ENOMEM);
>
> --
> 2.26.2
>

  reply	other threads:[~2020-07-27 23:57 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-27 18:44 [PATCH bpf-next v2 00/35] bpf: switch to memcg-based memory accounting Roman Gushchin
2020-07-27 18:44 ` [PATCH bpf-next v2 01/35] bpf: memcg-based memory accounting for bpf progs Roman Gushchin
2020-07-27 22:11   ` Song Liu
2020-07-28  0:08     ` Roman Gushchin
2020-07-28  4:42       ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 02/35] bpf: memcg-based memory accounting for bpf maps Roman Gushchin
2020-07-27 22:12   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 03/35] bpf: refine memcg-based memory accounting for arraymap maps Roman Gushchin
2020-07-27 22:30   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 04/35] bpf: refine memcg-based memory accounting for cpumap maps Roman Gushchin
2020-07-27 22:48   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 05/35] bpf: memcg-based memory accounting for cgroup storage maps Roman Gushchin
2020-07-27 23:05   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 06/35] bpf: refine memcg-based memory accounting for devmap maps Roman Gushchin
2020-07-27 23:35   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 07/35] bpf: refine memcg-based memory accounting for hashtab maps Roman Gushchin
2020-07-27 23:36   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 08/35] bpf: memcg-based memory accounting for lpm_trie maps Roman Gushchin
2020-07-27 23:55   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 09/35] bpf: memcg-based memory accounting for bpf ringbuffer Roman Gushchin
2020-07-27 23:56   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 10/35] bpf: memcg-based memory accounting for socket storage maps Roman Gushchin
2020-07-27 23:57   ` Song Liu [this message]
2020-07-27 18:44 ` [PATCH bpf-next v2 11/35] bpf: refine memcg-based memory accounting for sockmap and sockhash maps Roman Gushchin
2020-07-27 23:58   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 12/35] bpf: refine memcg-based memory accounting for xskmap maps Roman Gushchin
2020-07-28  0:01   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 13/35] bpf: eliminate rlimit-based memory accounting for arraymap maps Roman Gushchin
2020-07-28  0:04   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 14/35] bpf: eliminate rlimit-based memory accounting for bpf_struct_ops maps Roman Gushchin
2020-07-28  5:29   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 15/35] bpf: eliminate rlimit-based memory accounting for cpumap maps Roman Gushchin
2020-07-28  5:30   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 16/35] bpf: eliminate rlimit-based memory accounting for cgroup storage maps Roman Gushchin
2020-07-28  5:31   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 17/35] bpf: eliminate rlimit-based memory accounting for devmap maps Roman Gushchin
2020-07-28  5:31   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 18/35] bpf: eliminate rlimit-based memory accounting for hashtab maps Roman Gushchin
2020-07-28  5:32   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 19/35] bpf: eliminate rlimit-based memory accounting for lpm_trie maps Roman Gushchin
2020-07-28  5:32   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 20/35] bpf: eliminate rlimit-based memory accounting for queue_stack_maps maps Roman Gushchin
2020-07-28  5:35   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 21/35] bpf: eliminate rlimit-based memory accounting for reuseport_array maps Roman Gushchin
2020-07-28  5:36   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 22/35] bpf: eliminate rlimit-based memory accounting for bpf ringbuffer Roman Gushchin
2020-07-28  5:37   ` Song Liu
2020-07-28  5:56   ` Andrii Nakryiko
2020-07-27 18:44 ` [PATCH bpf-next v2 23/35] bpf: eliminate rlimit-based memory accounting for sockmap and sockhash maps Roman Gushchin
2020-07-28  5:37   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 24/35] bpf: eliminate rlimit-based memory accounting for stackmap maps Roman Gushchin
2020-07-28  5:38   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 25/35] bpf: eliminate rlimit-based memory accounting for socket storage maps Roman Gushchin
2020-07-28  5:41   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 26/35] bpf: eliminate rlimit-based memory accounting for xskmap maps Roman Gushchin
2020-07-28  5:42   ` Song Liu
2020-07-27 18:44 ` [PATCH bpf-next v2 27/35] bpf: eliminate rlimit-based memory accounting infra for bpf maps Roman Gushchin
2020-07-28  5:47   ` Song Liu
2020-07-28  5:58     ` Andrii Nakryiko
2020-07-28  6:06       ` Song Liu
2020-07-28 19:08         ` Roman Gushchin
2020-07-28 19:16           ` Andrii Nakryiko
2020-07-27 18:44 ` [PATCH bpf-next v2 28/35] bpf: eliminate rlimit-based memory accounting for bpf progs Roman Gushchin
2020-07-28  5:55   ` Song Liu
2020-07-27 18:45 ` [PATCH bpf-next v2 29/35] bpf: libbpf: cleanup RLIMIT_MEMLOCK usage Roman Gushchin
2020-07-27 22:05   ` Andrii Nakryiko
2020-07-27 22:44     ` Song Liu
2020-07-27 23:15     ` Roman Gushchin
2020-07-28  5:59       ` Andrii Nakryiko
2020-07-30  1:38         ` Roman Gushchin
2020-07-30 19:39           ` Andrii Nakryiko
2020-07-30 20:46             ` Roman Gushchin
2020-07-27 18:45 ` [PATCH bpf-next v2 30/35] bpf: bpftool: do not touch RLIMIT_MEMLOCK Roman Gushchin
2020-07-28  6:00   ` Song Liu
2020-07-28  6:00   ` Andrii Nakryiko
2020-07-27 18:45 ` [PATCH bpf-next v2 31/35] bpf: runqslower: don't " Roman Gushchin
2020-07-28  6:03   ` Andrii Nakryiko
2020-07-27 18:45 ` [PATCH bpf-next v2 32/35] bpf: selftests: delete bpf_rlimit.h Roman Gushchin
2020-07-28  6:06   ` Andrii Nakryiko
2020-07-28  6:11     ` Song Liu
2020-07-28 18:30       ` Andrii Nakryiko
2020-07-27 18:45 ` [PATCH bpf-next v2 33/35] bpf: selftests: don't touch RLIMIT_MEMLOCK Roman Gushchin
2020-07-28  6:08   ` Andrii Nakryiko
2020-07-27 18:45 ` [PATCH bpf-next v2 34/35] bpf: samples: do not " Roman Gushchin
2020-07-28  6:14   ` Song Liu
2020-07-27 18:45 ` [PATCH bpf-next v2 35/35] perf: don't " Roman Gushchin
2020-07-28  6:09   ` Andrii Nakryiko
2020-07-28 12:13     ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPhsuW6kEhrYKkGKrPH5+xT_8CutfFicC3SKFcLDg-rLODVM5A@mail.gmail.com \
    --to=song@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=guro@fb.com \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).