From: Vasily Averin <vvs@openvz.org> To: "Roman Gushchin" <roman.gushchin@linux.dev>, "Shakeel Butt" <shakeelb@google.com>, "Michal Koutný" <mkoutny@suse.com> Cc: kernel@openvz.org, linux-kernel@vger.kernel.org, Vlastimil Babka <vbabka@suse.cz>, Michal Hocko <mhocko@suse.com>, cgroups@vger.kernel.org Subject: [PATCH 3/4] memcg: enable accounting for struct cgroup Date: Fri, 13 May 2022 18:52:12 +0300 [thread overview] Message-ID: <a17be77f-dc3b-d69a-16e2-f7309959c525@openvz.org> (raw) In-Reply-To: <Ynv7+VG+T2y9rpdk@carbon> Creating each new cgroup allocates 4Kb for struct cgroup. This is the largest memory allocation in this scenario and is epecially important for small VMs with 1-2 CPUs. Accounting of this memory helps to avoid misuse inside memcg-limited containers. Signed-off-by: Vasily Averin <vvs@openvz.org> --- kernel/cgroup/cgroup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index adb820e98f24..7595127c5b3a 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -5353,7 +5353,7 @@ static struct cgroup *cgroup_create(struct cgroup *parent, const char *name, /* allocate the cgroup and its ID, 0 is reserved for the root */ cgrp = kzalloc(struct_size(cgrp, ancestor_ids, (level + 1)), - GFP_KERNEL); + GFP_KERNEL_ACCOUNT); if (!cgrp) return ERR_PTR(-ENOMEM); -- 2.31.1
WARNING: multiple messages have this Message-ID (diff)
From: Vasily Averin <vvs-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> To: "Roman Gushchin" <roman.gushchin-fxUVXftIFDnyG1zEObXtfA@public.gmane.org>, "Shakeel Butt" <shakeelb-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>, "Michal Koutný" <mkoutny-IBi9RG/b67k@public.gmane.org> Cc: kernel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Vlastimil Babka <vbabka-AlSwsSmVLrQ@public.gmane.org>, Michal Hocko <mhocko-IBi9RG/b67k@public.gmane.org>, cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Subject: [PATCH 3/4] memcg: enable accounting for struct cgroup Date: Fri, 13 May 2022 18:52:12 +0300 [thread overview] Message-ID: <a17be77f-dc3b-d69a-16e2-f7309959c525@openvz.org> (raw) In-Reply-To: <Ynv7+VG+T2y9rpdk@carbon> Creating each new cgroup allocates 4Kb for struct cgroup. This is the largest memory allocation in this scenario and is epecially important for small VMs with 1-2 CPUs. Accounting of this memory helps to avoid misuse inside memcg-limited containers. Signed-off-by: Vasily Averin <vvs-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> --- kernel/cgroup/cgroup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index adb820e98f24..7595127c5b3a 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -5353,7 +5353,7 @@ static struct cgroup *cgroup_create(struct cgroup *parent, const char *name, /* allocate the cgroup and its ID, 0 is reserved for the root */ cgrp = kzalloc(struct_size(cgrp, ancestor_ids, (level + 1)), - GFP_KERNEL); + GFP_KERNEL_ACCOUNT); if (!cgrp) return ERR_PTR(-ENOMEM); -- 2.31.1
next prev parent reply other threads:[~2022-05-13 15:52 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 ` [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 ` Vasily Averin [this message] 2022-05-13 15:52 ` [PATCH 3/4] memcg: enable accounting for struct cgroup 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=a17be77f-dc3b-d69a-16e2-f7309959c525@openvz.org \ --to=vvs@openvz.org \ --cc=cgroups@vger.kernel.org \ --cc=kernel@openvz.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mhocko@suse.com \ --cc=mkoutny@suse.com \ --cc=roman.gushchin@linux.dev \ --cc=shakeelb@google.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: linkBe 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.