All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.com>
To: Vasily Averin <vvs@openvz.org>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
	kernel@openvz.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, "Shakeel Butt" <shakeelb@google.com>,
	"Roman Gushchin" <roman.gushchin@linux.dev>,
	"Michal Koutný" <mkoutny@suse.com>,
	"Vlastimil Babka" <vbabka@suse.cz>,
	"Muchun Song" <songmuchun@bytedance.com>,
	cgroups@vger.kernel.org
Subject: Re: [PATCH mm v3 0/9] memcg: accounting for objects allocated by mkdir cgroup
Date: Wed, 1 Jun 2022 11:26:55 +0200	[thread overview]
Message-ID: <Ypcw3xhumvH3KDkD@dhcp22.suse.cz> (raw)
In-Reply-To: <118bcb39-1281-0d1d-b163-3f6bcc99c3e2@openvz.org>

On Wed 01-06-22 06:43:27, Vasily Averin wrote:
[...]
> However, it isn't critical for OpenVz. Our kernel does not allow
> to change of cgroup.subgroups_limit from inside containers.

What is the semantic of this limit?

> CT-901 /# cat /sys/fs/cgroup/memory/cgroup.subgroups_limit 
> 512
> CT-901 /# echo 3333 > /sys/fs/cgroup/memory/cgroup.subgroups_limit 
> -bash: echo: write error: Operation not permitted
> CT-901 /# echo 333 > /sys/fs/cgroup/memory/cgroup.subgroups_limit 
> -bash: echo: write error: Operation not permitted
> 
> I doubt this way can be accepted in upstream, however for OpenVz
> something like this it is mandatory because it much better
> than nothing.
> 
> The number can be adjusted by host admin. The current default limit
> looks too small for me, however it is not difficult to increase it
> to a reasonable 10,000.
> 
> My experiments show that ~10000 cgroups consumes 0.5 Gb memory on 4cpu VM.
> On "big irons" it can easily grow up to several Gb. This is quite a lot
> to ignore its accounting.

Too many cgroups can certainly have a high memory footprint. I guess
this is quite clear. The question is whether trying to limit them by the
memory footprint is really the right way to go. I would be especially
worried about those smaller machines because of a smaller footprint
which would allow to deplete the id space faster.

Maybe we need some sort of limit on the number of cgroups in a subtree
so that any potential runaway can be prevented regardless of the cgroups
memory footprint. One potentially big problem with that is that cgroups
can live quite long after being offlined (e.g. memcg) so such a limit
could easily trigger I can imagine.
-- 
Michal Hocko
SUSE Labs

  parent reply	other threads:[~2022-06-01  9:27 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 [this message]
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                                       ` [PATCH mm v2] memcg: notify about global mem_cgroup_id space depletion Vasily Averin
2022-06-27  3:23                                         ` 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=Ypcw3xhumvH3KDkD@dhcp22.suse.cz \
    --to=mhocko@suse.com \
    --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=mkoutny@suse.com \
    --cc=roman.gushchin@linux.dev \
    --cc=shakeelb@google.com \
    --cc=songmuchun@bytedance.com \
    --cc=vbabka@suse.cz \
    --cc=vvs@openvz.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 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.