All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vasily Averin <vvs@openvz.org>
To: "Shakeel Butt" <shakeelb@google.com>,
	"Roman Gushchin" <roman.gushchin@linux.dev>,
	"Michal Koutný" <mkoutny@suse.com>,
	"Michal Hocko" <mhocko@suse.com>
Cc: kernel@openvz.org, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, Vlastimil Babka <vbabka@suse.cz>,
	Muchun Song <songmuchun@bytedance.com>,
	cgroups@vger.kernel.org
Subject: [PATCH mm v2] memcg: notify about global mem_cgroup_id space depletion
Date: Mon, 27 Jun 2022 05:11:26 +0300	[thread overview]
Message-ID: <97bed1fd-f230-c2ea-1cb6-8230825a9a64@openvz.org> (raw)
In-Reply-To: <Yre8tNUY8vBrO0yl@castle>

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.

Signed-off-by: Vasily Averin <vvs@openvz.org>
---
v2: Roman Gushchin pointed that idr_alloc() should return unique -ENOSPC
    if no free IDs could be found, but can also return -ENOMEM.
    Therefore error code check was added before message output and
    patch descriprion was adopted.
---
 mm/memcontrol.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index d4c606a06bcd..ffc6b5d6b95e 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5317,6 +5317,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;
 	}
 
-- 
2.36.1


  parent reply	other threads:[~2022-06-27  2:11 UTC|newest]

Thread overview: 267+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-27 10:37 [PATCH] memcg: accounting for objects allocated for new netdevice Vasily Averin
2022-04-27 10:37 ` Vasily Averin
2022-04-27 14:01 ` Michal Koutný
2022-04-27 14:01   ` Michal Koutný
2022-04-27 16:52   ` Shakeel Butt
2022-04-27 16:52     ` Shakeel Butt
2022-04-27 22:35     ` Vasily Averin
2022-04-27 22:35       ` Vasily Averin
2022-05-02 12:15       ` [PATCH memcg v2] " Vasily Averin
2022-05-04 20:50         ` Luis Chamberlain
2022-05-04 20:50           ` Luis Chamberlain
2022-05-05  3:50         ` patchwork-bot+netdevbpf
2022-05-05  3:50           ` patchwork-bot+netdevbpf-DgEjT+Ai2ygdnm+yROfE0A
2022-05-11  2:51         ` Roman Gushchin
2022-05-11  2:51           ` Roman Gushchin
2022-05-02 19:37   ` kernfs memcg accounting Vasily Averin
2022-05-02 19:37     ` Vasily Averin
2022-05-02 21:22     ` Michal Koutný
2022-05-02 21:22       ` Michal Koutný
2022-05-04  9:00       ` Vasily Averin
2022-05-04  9:00         ` Vasily Averin
2022-05-04 14:10         ` Michal Koutný
2022-05-04 14:10           ` Michal Koutný
2022-05-04 21:16           ` Vasily Averin
2022-05-04 21:16             ` Vasily Averin
2022-05-05  9:47             ` Michal Koutný
2022-05-05  9:47               ` Michal Koutný
2022-05-06  8:37               ` Vasily Averin
2022-05-06  8:37                 ` Vasily Averin
2022-05-11  3:06         ` Roman Gushchin
2022-05-11  3:06           ` Roman Gushchin
2022-05-11  6:01           ` Vasily Averin
2022-05-11  6:01             ` Vasily Averin
2022-05-11 16:49             ` Michal Koutný
2022-05-11 16:49               ` Michal Koutný
2022-05-11 17:46             ` Roman Gushchin
2022-05-11 17:46               ` Roman Gushchin
2022-05-11 16:34           ` Michal Koutný
2022-05-11 16:34             ` Michal Koutný
2022-05-11 18:10             ` Roman Gushchin
2022-05-11 18:10               ` Roman Gushchin
2022-05-13 15:51               ` [PATCH 0/4] memcg: accounting for objects allocated by mkdir cgroup Vasily Averin
2022-05-13 15:51                 ` Vasily Averin
2022-05-13 17:49                 ` Roman Gushchin
2022-05-13 17:49                   ` Roman Gushchin
2022-05-21 16:37                   ` [PATCH mm v2 0/9] " Vasily Averin
2022-05-21 16:37                     ` Vasily Averin
2022-05-30 11:25                     ` [PATCH mm v3 " Vasily Averin
2022-05-30 11:25                       ` Vasily Averin
2022-05-30 11:55                       ` Michal Hocko
2022-05-30 11:55                         ` Michal Hocko
2022-05-30 13:09                         ` Vasily Averin
2022-05-30 13:09                           ` Vasily Averin
2022-05-30 14:22                           ` Michal Hocko
2022-05-30 14:22                             ` Michal Hocko
2022-05-30 19:58                             ` Vasily Averin
2022-05-30 19:58                               ` Vasily Averin
2022-05-31  7:16                               ` Michal Hocko
2022-05-31  7:16                                 ` Michal Hocko
2022-06-01  3:43                                 ` Vasily Averin
2022-06-01  3:43                                   ` Vasily Averin
2022-06-01  9:15                                   ` Michal Koutný
2022-06-01  9:15                                     ` Michal Koutný
2022-06-01  9:32                                     ` Michal Hocko
2022-06-01  9:32                                       ` Michal Hocko
2022-06-01 13:05                                       ` Michal Hocko
2022-06-01 13:05                                         ` Michal Hocko
2022-06-01 14:22                                         ` Roman Gushchin
2022-06-01 14:22                                           ` Roman Gushchin
2022-06-01 15:24                                           ` Michal Hocko
2022-06-01 15:24                                             ` Michal Hocko
2022-06-01  9:26                                   ` Michal Hocko
2022-06-13  5:34                       ` [PATCH mm v4 " Vasily Averin
2022-06-13  5:34                         ` Vasily Averin
2022-06-23 14:50                         ` [PATCH mm v5 0/9] memcg: accounting for objects allocated by mkdir, cgroup Vasily Averin
2022-06-23 14:50                           ` Vasily Averin
2022-06-23 15:03                           ` Vasily Averin
2022-06-23 15:03                             ` Vasily Averin
2022-06-23 16:07                             ` Michal Hocko
2022-06-23 16:07                               ` Michal Hocko
2022-06-23 16:55                               ` Shakeel Butt
2022-06-23 16:55                                 ` Shakeel Butt
2022-06-24 10:40                                 ` Vasily Averin
2022-06-24 10:40                                   ` Vasily Averin
2022-06-24 12:26                                   ` Michal Koutný
2022-06-24 12:26                                     ` Michal Koutný
2022-06-24 13:59                                 ` Michal Hocko
2022-06-24 13:59                                   ` Michal Hocko
2022-06-25  9:43                                   ` [PATCH RFC] memcg: avoid idr ids space depletion Vasily Averin
2022-06-25  9:43                                     ` Vasily Averin
2022-06-25 14:04                                   ` [PATCH RFC] memcg: notify about global mem_cgroup_id " Vasily Averin
2022-06-25 14:04                                     ` Vasily Averin
2022-06-26  1:56                                     ` Roman Gushchin
2022-06-26  1:56                                       ` Roman Gushchin
2022-06-26  7:11                                       ` Vasily Averin
2022-06-26  7:11                                         ` Vasily Averin
2022-06-27  2:12                                         ` [PATCH cgroup] cgroup: set the correct return code if hierarchy limits are reached Vasily Averin
2022-06-27  2:12                                           ` Vasily Averin
2022-06-27  3:33                                           ` Muchun Song
2022-06-27  3:33                                             ` Muchun Song
2022-06-27  9:07                                           ` Tejun Heo
2022-06-27  9:07                                             ` Tejun Heo
2022-06-28  0:44                                           ` Roman Gushchin
2022-06-28  0:44                                             ` Roman Gushchin
2022-06-28  3:59                                             ` Vasily Averin
2022-06-28  3:59                                               ` Vasily Averin
2022-06-28  9:16                                               ` Michal Koutný
2022-06-28  9:16                                                 ` Michal Koutný
2022-06-28  9:22                                                 ` Tejun Heo
2022-06-29  6:13                                                   ` Vasily Averin
2022-06-29  6:13                                                     ` Vasily Averin
2022-06-29 19:25                                                     ` Tejun Heo
2022-06-29 19:25                                                       ` Tejun Heo
2022-07-01  2:42                                                       ` Roman Gushchin
2022-07-01  2:42                                                         ` Roman Gushchin
2022-06-27  2:11                                       ` Vasily Averin [this message]
2022-06-27  3:23                                         ` [PATCH mm v2] memcg: notify about global mem_cgroup_id space depletion Muchun Song
2022-06-27  3:23                                           ` Muchun Song
2022-06-27  6:49                                           ` Vasily Averin
2022-06-27  6:49                                             ` Vasily Averin
2022-06-28  1:11                                             ` Roman Gushchin
2022-06-28  1:11                                               ` Roman Gushchin
2022-06-28  3:43                                               ` Vasily Averin
2022-06-28  3:43                                                 ` Vasily Averin
2022-06-28  9:08                                               ` Michal Koutný
2022-06-28  9:08                                                 ` Michal Koutný
2022-06-27 16:37                                   ` [PATCH mm v5 0/9] memcg: accounting for objects allocated by mkdir, cgroup Shakeel Butt
2022-06-27 16:37                                     ` Shakeel Butt
2022-07-01 11:03                                     ` Michal Hocko
2022-07-10 18:53                                       ` Vasily Averin
2022-07-10 18:53                                         ` Vasily Averin
2022-07-11 16:24                                         ` Michal Hocko
2022-07-11 16:24                                           ` Michal Hocko
2022-06-23 14:50                         ` [PATCH mm v5 1/9] memcg: enable accounting for struct cgroup Vasily Averin
2022-06-23 14:50                           ` Vasily Averin
2022-06-23 14:50                         ` [PATCH mm v5 2/9] memcg: enable accounting for kernfs nodes Vasily Averin
2022-06-23 14:50                           ` Vasily Averin
2022-06-23 14:51                         ` [PATCH mm v5 3/9] memcg: enable accounting for kernfs iattrs Vasily Averin
2022-06-23 14:51                           ` Vasily Averin
2022-06-23 14:51                         ` [PATCH mm v5 4/9] memcg: enable accounting for struct simple_xattr Vasily Averin
2022-06-23 14:51                           ` Vasily Averin
2022-06-23 14:51                         ` [PATCH mm v5 5/9] memcg: enable accounting for percpu allocation of struct psi_group_cpu Vasily Averin
2022-06-23 14:51                           ` Vasily Averin
2022-06-23 14:51                         ` [PATCH mm v5 6/9] memcg: enable accounting for percpu allocation of struct cgroup_rstat_cpu Vasily Averin
2022-06-23 14:51                           ` Vasily Averin
2022-06-23 14:51                         ` [PATCH mm v5 7/9] memcg: enable accounting for large allocations in mem_cgroup_css_alloc Vasily Averin
2022-06-23 14:51                           ` Vasily Averin
2022-06-23 14:51                         ` [PATCH mm v5 8/9] memcg: enable accounting for allocations in alloc_fair_sched_group Vasily Averin
2022-06-23 14:51                           ` Vasily Averin
2022-06-23 14:52                         ` [PATCH mm v5 9/9] memcg: enable accounting for perpu allocation of struct rt_rq Vasily Averin
2022-06-23 14:52                           ` Vasily Averin
2022-06-13  5:34                       ` [PATCH mm v4 1/9] memcg: enable accounting for struct cgroup Vasily Averin
2022-06-13  5:34                         ` Vasily Averin
2022-06-13  5:34                       ` [PATCH mm v4 2/9] memcg: enable accounting for kernfs nodes Vasily Averin
2022-06-13  5:34                         ` Vasily Averin
2022-06-13  5:34                       ` [PATCH mm v4 3/9] memcg: enable accounting for kernfs iattrs Vasily Averin
2022-06-13  5:34                         ` Vasily Averin
2022-06-13  5:35                       ` [PATCH mm v4 4/9] memcg: enable accounting for struct simple_xattr Vasily Averin
2022-06-13  5:35                         ` Vasily Averin
2022-06-13  5:35                       ` [PATCH mm v4 5/9] memcg: enable accounting for percpu allocation of struct psi_group_cpu Vasily Averin
2022-06-13  5:35                         ` Vasily Averin
2022-06-13  5:35                       ` [PATCH mm v4 6/9] memcg: enable accounting for percpu allocation of struct cgroup_rstat_cpu Vasily Averin
2022-06-13  5:35                         ` Vasily Averin
2022-06-13  5:35                       ` [PATCH mm v4 7/9] memcg: enable accounting for large allocations in mem_cgroup_css_alloc Vasily Averin
2022-06-13  5:35                         ` Vasily Averin
2022-06-13  5:35                       ` [PATCH mm v4 8/9] memcg: enable accounting for allocations in alloc_fair_sched_group Vasily Averin
2022-06-13  5:35                         ` Vasily Averin
2022-06-13  5:35                       ` [PATCH mm v4 9/9] memcg: enable accounting for perpu allocation of struct rt_rq Vasily Averin
     [not found]                     ` <cover.1653899364.git.vvs@openvz.org>
2022-05-30 11:25                       ` [PATCH mm v3 1/9] memcg: enable accounting for struct cgroup Vasily Averin
2022-05-30 11:25                         ` Vasily Averin
2022-05-30 11:26                       ` [PATCH mm v3 2/9] memcg: enable accounting for kernfs nodes Vasily Averin
2022-05-30 11:26                         ` Vasily Averin
2022-05-30 11:26                       ` [PATCH mm v3 3/9] memcg: enable accounting for kernfs iattrs Vasily Averin
2022-05-30 11:26                         ` Vasily Averin
2022-05-30 11:26                       ` [PATCH mm v3 4/9] memcg: enable accounting for struct simple_xattr Vasily Averin
2022-05-30 11:26                         ` Vasily Averin
2022-05-30 11:26                       ` [PATCH mm v3 5/9] memcg: enable accounting for percpu allocation of struct psi_group_cpu Vasily Averin
2022-05-30 11:26                       ` [PATCH mm v3 6/9] memcg: enable accounting for percpu allocation of struct cgroup_rstat_cpu Vasily Averin
2022-05-30 15:04                         ` Muchun Song
2022-05-30 15:04                           ` Muchun Song
2022-05-30 11:26                       ` [PATCH mm v3 7/9] memcg: enable accounting for large allocations in mem_cgroup_css_alloc Vasily Averin
2022-05-30 11:26                         ` Vasily Averin
2022-05-30 11:26                       ` [PATCH mm v3 8/9] memcg: enable accounting for allocations in alloc_fair_sched_group Vasily Averin
2022-05-30 11:26                         ` Vasily Averin
2022-05-30 11:27                       ` [PATCH mm v3 9/9] memcg: enable accounting for perpu allocation of struct rt_rq Vasily Averin
2022-05-30 11:27                         ` Vasily Averin
2022-05-30 15:06                         ` Muchun Song
2022-05-21 16:37                   ` [PATCH mm v2 1/9] memcg: enable accounting for struct cgroup Vasily Averin
2022-05-21 16:37                     ` Vasily Averin
2022-05-22  6:37                     ` Muchun Song
2022-05-22  6:37                       ` Muchun Song
2022-05-21 16:37                   ` [PATCH mm v2 2/9] memcg: enable accounting for kernfs nodes Vasily Averin
2022-05-21 16:37                     ` Vasily Averin
2022-05-22  6:37                     ` Muchun Song
2022-05-22  6:37                       ` Muchun Song
2022-05-21 16:37                   ` [PATCH mm v2 3/9] memcg: enable accounting for kernfs iattrs Vasily Averin
2022-05-21 16:37                     ` Vasily Averin
2022-05-22  6:38                     ` Muchun Song
2022-05-22  6:38                       ` Muchun Song
2022-05-21 16:38                   ` [PATCH mm v2 4/9] memcg: enable accounting for struct simple_xattr Vasily Averin
2022-05-21 16:38                     ` Vasily Averin
2022-05-22  6:38                     ` Muchun Song
2022-05-22  6:38                       ` Muchun Song
2022-05-21 16:38                   ` [PATCH mm v2 5/9] memcg: enable accounting for percpu allocation of struct psi_group_cpu Vasily Averin
2022-05-21 16:38                     ` Vasily Averin
2022-05-21 21:34                     ` Shakeel Butt
2022-05-21 21:34                       ` Shakeel Butt
2022-05-22  6:40                     ` Muchun Song
2022-05-22  6:40                       ` Muchun Song
2022-05-25  1:30                     ` Roman Gushchin
2022-05-25  1:30                       ` Roman Gushchin
2022-05-21 16:38                   ` [PATCH mm v2 6/9] memcg: enable accounting for percpu allocation of struct cgroup_rstat_cpu Vasily Averin
2022-05-21 16:38                     ` Vasily Averin
2022-05-21 17:58                     ` Vasily Averin
2022-05-21 17:58                       ` Vasily Averin
2022-05-21 21:35                     ` Shakeel Butt
2022-05-21 21:35                       ` Shakeel Butt
2022-05-21 22:05                     ` kernel test robot
2022-05-21 22:05                       ` kernel test robot
2022-05-25  1:31                     ` Roman Gushchin
2022-05-25  1:31                       ` Roman Gushchin
2022-05-21 16:38                   ` [PATCH mm v2 7/9] memcg: enable accounting for large allocations in mem_cgroup_css_alloc Vasily Averin
2022-05-21 16:38                     ` Vasily Averin
2022-05-22  6:47                     ` Muchun Song
2022-05-22  6:47                       ` Muchun Song
2022-05-21 16:38                   ` [PATCH mm v2 8/9] memcg: enable accounting for allocations in alloc_fair_sched_group Vasily Averin
2022-05-21 16:38                     ` Vasily Averin
2022-05-22  6:49                     ` Muchun Song
2022-05-21 16:39                   ` [PATCH mm v2 9/9] memcg: enable accounting for percpu allocation of struct rt_rq Vasily Averin
2022-05-21 16:39                     ` Vasily Averin
2022-05-21 21:37                     ` Shakeel Butt
2022-05-21 21:37                       ` Shakeel Butt
2022-05-25  1:31                     ` Roman Gushchin
2022-05-25  1:31                       ` Roman Gushchin
2022-05-13 15:51               ` [PATCH 1/4] memcg: enable accounting for large allocations in mem_cgroup_css_alloc Vasily Averin
2022-05-13 15:51                 ` Vasily Averin
2022-05-19 16:46                 ` Michal Koutný
2022-05-19 16:46                   ` Michal Koutný
2022-05-20  1:07                 ` Shakeel Butt
2022-05-20  1:07                   ` Shakeel Butt
2022-05-13 15:51               ` [PATCH 2/4] memcg: enable accounting for kernfs nodes and iattrs Vasily Averin
2022-05-13 15:51                 ` Vasily Averin
2022-05-19 16:33                 ` Michal Koutný
2022-05-19 16:33                   ` Michal Koutný
2022-05-20  1:12                 ` Shakeel Butt
2022-05-20  1:12                   ` Shakeel Butt
2022-05-13 15:52               ` [PATCH 3/4] memcg: enable accounting for struct cgroup Vasily Averin
2022-05-13 15:52                 ` Vasily Averin
2022-05-19 16:53                 ` Michal Koutný
2022-05-19 16:53                   ` Michal Koutný
2022-05-20  7:24                   ` Vasily Averin
2022-05-20  7:24                     ` Vasily Averin
2022-05-20 20:16                     ` Vasily Averin
2022-05-20 20:16                       ` Vasily Averin
2022-05-21  0:55                       ` Roman Gushchin
2022-05-21  0:55                         ` Roman Gushchin
2022-05-21  7:28                         ` Vasily Averin
2022-05-21  7:28                           ` Vasily Averin
2022-05-23 13:52                       ` Michal Koutný
2022-05-23 13:52                         ` Michal Koutný
2022-05-20  1:31                 ` Shakeel Butt
2022-05-13 15:52               ` [PATCH 4/4] memcg: enable accounting for allocations in alloc_fair_sched_group Vasily Averin
2022-05-13 15:52                 ` Vasily Averin
2022-05-19 16:45                 ` Michal Koutný
2022-05-19 16:45                   ` Michal Koutný
2022-05-20  1:18                 ` Shakeel Butt
2022-05-20  1:18                   ` Shakeel Butt

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=97bed1fd-f230-c2ea-1cb6-8230825a9a64@openvz.org \
    --to=vvs@openvz.org \
    --cc=akpm@linux-foundation.org \
    --cc=cgroups@vger.kernel.org \
    --cc=kernel@openvz.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=mkoutny@suse.com \
    --cc=roman.gushchin@linux.dev \
    --cc=shakeelb@google.com \
    --cc=songmuchun@bytedance.com \
    --cc=vbabka@suse.cz \
    /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.