]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
memcg: notify about global mem_cgroup_id space depletion
authorVasily Averin <vvs@openvz.org>
Mon, 27 Jun 2022 02:11:26 +0000 (05:11 +0300)
committerakpm <akpm@linux-foundation.org>
Wed, 20 Jul 2022 21:41:46 +0000 (14:41 -0700)
Currently, the host owner is not informed about the exhaustion of the
global mem_cgroup_id space.  When this happens, systemd cannot start a new
service and receives a unique -ENOSPC error code.  However, this can
happen inside this container, persist in the log file of the local
container, and may not be noticed by the host owner if he did not try to
start any new services.

Link: https://lkml.kernel.org/r/97bed1fd-f230-c2ea-1cb6-8230825a9a64@openvz.org
Signed-off-by: Vasily Averin <vvs@openvz.org>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Michal Koutný <mkoutny@suse.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memcontrol.c

index 956b82ec8f7314333f3096085eaec77ca03f159c..0fb880dd25d180503cbb7df4f0cd1aaac29c1287 100644 (file)
@@ -5175,6 +5175,8 @@ static struct mem_cgroup *mem_cgroup_alloc(void)
                                 1, MEM_CGROUP_ID_MAX + 1, GFP_KERNEL);
        if (memcg->id.id < 0) {
                error = memcg->id.id;
+               if (error == -ENOSPC)
+                       pr_notice_ratelimited("mem_cgroup_id space is exhausted\n");
                goto fail;
        }