From: Roman Gushchin <roman.gushchin@linux.dev>
To: Michal Hocko <mhocko@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Yafang Shao <laoar.shao@gmail.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Shakeel Butt <shakeelb@google.com>,
Muchun Song <songmuchun@bytedance.com>,
cgroups@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org
Subject: Re: [PATCH] mm: memcontrol: do not miss MEMCG_MAX events for enforced allocations
Date: Tue, 5 Jul 2022 13:55:17 -0700 [thread overview]
Message-ID: <YsSlNbKuprI97TtF@castle> (raw)
In-Reply-To: <YsMDdjc5SXMAuV2l@dhcp22.suse.cz>
On Mon, Jul 04, 2022 at 05:12:54PM +0200, Michal Hocko wrote:
> On Fri 01-07-22 20:35:21, Roman Gushchin wrote:
> > Yafang Shao reported an issue related to the accounting of bpf
> > memory: if a bpf map is charged indirectly for memory consumed
> > from an interrupt context and allocations are enforced, MEMCG_MAX
> > events are not raised.
>
> So I guess this will be a GFP_ATOMIC request failing due to the hard
> limit, right? I think it would be easier to understand if the specific
> allocation request type was mentioned.
It all started from the discussion here:
https://www.spinics.net/lists/linux-mm/msg302319.html
Please, take a look.
>
> > It's not/less of an issue in a generic case because consequent
> > allocations from a process context will trigger the reclaim and
> > MEMCG_MAX events. However a bpf map can belong to a dying/abandoned
> > memory cgroup, so it might never happen. So the cgroup can
> > significantly exceed the memory.max limit without even triggering
> > MEMCG_MAX events.
>
> More on that in other reply.
>
> > Fix this by making sure that we never enforce allocations without
> > raising a MEMCG_MAX event.
> >
> > Reported-by: Yafang Shao <laoar.shao@gmail.com>
> > Signed-off-by: Roman Gushchin <roman.gushchin@linux.dev>
> > Cc: Johannes Weiner <hannes@cmpxchg.org>
> > Cc: Michal Hocko <mhocko@kernel.org>
> > Cc: Shakeel Butt <shakeelb@google.com>
> > Cc: Muchun Song <songmuchun@bytedance.com>
> > Cc: cgroups@vger.kernel.org
> > Cc: linux-mm@kvack.org
> > Cc: bpf@vger.kernel.org
>
> The patch makes sense to me though even without the weird charge to a
> dead memcg aspect. It is true that a very calm memcg can trigger the
> even much later after a GFP_ATOMIC charge (or __GFP_HIGH in general)
> fails.
Good point!
>
> Acked-by: Michal Hocko <mhocko@suse.com>
Thanks!
prev parent reply other threads:[~2022-07-05 20:55 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-02 3:35 [PATCH] mm: memcontrol: do not miss MEMCG_MAX events for enforced allocations Roman Gushchin
2022-07-02 5:50 ` Shakeel Butt
2022-07-02 5:50 ` Shakeel Butt
2022-07-02 15:39 ` Roman Gushchin
2022-07-02 15:39 ` Roman Gushchin
2022-07-03 5:36 ` Shakeel Butt
2022-07-03 5:36 ` Shakeel Butt
2022-07-03 22:50 ` Roman Gushchin
2022-07-03 22:50 ` Roman Gushchin
2022-07-04 15:07 ` Michal Hocko
2022-07-04 15:30 ` Michal Hocko
2022-07-04 15:30 ` Michal Hocko
2022-07-05 20:51 ` Roman Gushchin
2022-07-05 20:51 ` Roman Gushchin
2022-07-06 2:40 ` Yafang Shao
2022-07-06 2:40 ` Yafang Shao
2022-07-07 7:47 ` Michal Hocko
2022-07-07 7:47 ` Michal Hocko
2022-07-05 20:49 ` Roman Gushchin
2022-07-06 2:46 ` Yafang Shao
2022-07-06 3:28 ` Roman Gushchin
2022-07-06 3:42 ` Yafang Shao
2022-07-06 3:42 ` Yafang Shao
2022-07-06 3:56 ` Roman Gushchin
2022-07-06 3:56 ` Roman Gushchin
2022-07-06 4:02 ` Yafang Shao
2022-07-06 4:02 ` Yafang Shao
2022-07-06 4:19 ` Roman Gushchin
2022-07-06 4:19 ` Roman Gushchin
2022-07-06 4:33 ` Yafang Shao
2022-07-06 4:33 ` Yafang Shao
2022-07-07 22:41 ` Alexei Starovoitov
2022-07-08 3:18 ` Roman Gushchin
2022-07-08 3:18 ` Roman Gushchin
2022-07-04 15:12 ` Michal Hocko
2022-07-04 15:12 ` Michal Hocko
2022-07-05 20:55 ` Roman Gushchin [this message]
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=YsSlNbKuprI97TtF@castle \
--to=roman.gushchin@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=bpf@vger.kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=laoar.shao@gmail.com \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=shakeelb@google.com \
--cc=songmuchun@bytedance.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.