All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vasily Averin <vvs@openvz.org>
To: Roman Gushchin <roman.gushchin@linux.dev>,
	Vlastimil Babka <vbabka@suse.cz>,
	Shakeel Butt <shakeelb@google.com>
Cc: kernel@openvz.org, Florian Westphal <fw@strlen.de>,
	linux-kernel@vger.kernel.org, Michal Hocko <mhocko@suse.com>,
	cgroups@vger.kernel.org, netdev@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Tejun Heo <tj@kernel.org>, Luis Chamberlain <mcgrof@kernel.org>,
	Kees Cook <keescook@chromium.org>,
	Iurii Zaikin <yzaikin@google.com>,
	linux-fsdevel@vger.kernel.org
Subject: [PATCH] memcg: accounting for objects allocated for new netdevice
Date: Wed, 27 Apr 2022 13:37:50 +0300	[thread overview]
Message-ID: <7e867cb0-89d6-402c-33d2-9b9ba0ba1523@openvz.org> (raw)

Creating a new netdevice allocates at least ~50Kb of memory for various
kernel objects, but only ~5Kb of them are accounted to memcg. As a result,
creating an unlimited number of netdevice inside a memcg-limited container
does not fall within memcg restrictions, consumes a significant part
of the host's memory, can cause global OOM and lead to random kills of
host processes.

The main consumers of non-accounted memory are:
 ~10Kb   80+ kernfs nodes
 ~6Kb    ipv6_add_dev() allocations
  6Kb    __register_sysctl_table() allocations
  4Kb    neigh_sysctl_register() allocations
  4Kb    __devinet_sysctl_register() allocations
  4Kb    __addrconf_sysctl_register() allocations

Accounting of these objects allows to increase the share of memcg-related
memory up to 60-70% (~38Kb accounted vs ~54Kb total for dummy netdevice
on typical VM with default Fedora 35 kernel) and this should be enough
to somehow protect the host from misuse inside container.

Other related objects are quite small and may not be taken into account
to minimize the expected performance degradation.

It should be separately mentonied ~300 bytes of percpu allocation
of struct ipstats_mib in snmp6_alloc_dev(), on huge multi-cpu nodes
it can become the main consumer of memory.

Signed-off-by: Vasily Averin <vvs@openvz.org>
---
RFC was discussed here:
https://lore.kernel.org/all/a5e09e93-106d-0527-5b1e-48dbf3b48b4e@virtuozzo.com/
---
 fs/kernfs/mount.c     | 2 +-
 fs/proc/proc_sysctl.c | 2 +-
 net/core/neighbour.c  | 2 +-
 net/ipv4/devinet.c    | 2 +-
 net/ipv6/addrconf.c   | 8 ++++----
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c
index cfa79715fc1a..2881aeeaa880 100644
--- a/fs/kernfs/mount.c
+++ b/fs/kernfs/mount.c
@@ -391,7 +391,7 @@ void __init kernfs_init(void)
 {
 	kernfs_node_cache = kmem_cache_create("kernfs_node_cache",
 					      sizeof(struct kernfs_node),
-					      0, SLAB_PANIC, NULL);
+					      0, SLAB_PANIC | SLAB_ACCOUNT, NULL);
 
 	/* Creates slab cache for kernfs inode attributes */
 	kernfs_iattrs_cache  = kmem_cache_create("kernfs_iattrs_cache",
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index 7d9cfc730bd4..df4604fea4f8 100644
--- a/fs/proc/proc_sysctl.c
+++ b/fs/proc/proc_sysctl.c
@@ -1333,7 +1333,7 @@ struct ctl_table_header *__register_sysctl_table(
 		nr_entries++;
 
 	header = kzalloc(sizeof(struct ctl_table_header) +
-			 sizeof(struct ctl_node)*nr_entries, GFP_KERNEL);
+			 sizeof(struct ctl_node)*nr_entries, GFP_KERNEL_ACCOUNT);
 	if (!header)
 		return NULL;
 
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index ec0bf737b076..3dcda2a54f86 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -3728,7 +3728,7 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
 	char neigh_path[ sizeof("net//neigh/") + IFNAMSIZ + IFNAMSIZ ];
 	char *p_name;
 
-	t = kmemdup(&neigh_sysctl_template, sizeof(*t), GFP_KERNEL);
+	t = kmemdup(&neigh_sysctl_template, sizeof(*t), GFP_KERNEL_ACCOUNT);
 	if (!t)
 		goto err;
 
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index fba2bffd65f7..47523fe5b891 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -2566,7 +2566,7 @@ static int __devinet_sysctl_register(struct net *net, char *dev_name,
 	struct devinet_sysctl_table *t;
 	char path[sizeof("net/ipv4/conf/") + IFNAMSIZ];
 
-	t = kmemdup(&devinet_sysctl, sizeof(*t), GFP_KERNEL);
+	t = kmemdup(&devinet_sysctl, sizeof(*t), GFP_KERNEL_ACCOUNT);
 	if (!t)
 		goto out;
 
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index f908e2fd30b2..e79621ee4a0a 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -342,7 +342,7 @@ static int snmp6_alloc_dev(struct inet6_dev *idev)
 {
 	int i;
 
-	idev->stats.ipv6 = alloc_percpu(struct ipstats_mib);
+	idev->stats.ipv6 = alloc_percpu_gfp(struct ipstats_mib, GFP_KERNEL_ACCOUNT);
 	if (!idev->stats.ipv6)
 		goto err_ip;
 
@@ -358,7 +358,7 @@ static int snmp6_alloc_dev(struct inet6_dev *idev)
 	if (!idev->stats.icmpv6dev)
 		goto err_icmp;
 	idev->stats.icmpv6msgdev = kzalloc(sizeof(struct icmpv6msg_mib_device),
-					   GFP_KERNEL);
+					   GFP_KERNEL_ACCOUNT);
 	if (!idev->stats.icmpv6msgdev)
 		goto err_icmpmsg;
 
@@ -382,7 +382,7 @@ static struct inet6_dev *ipv6_add_dev(struct net_device *dev)
 	if (dev->mtu < IPV6_MIN_MTU)
 		return ERR_PTR(-EINVAL);
 
-	ndev = kzalloc(sizeof(struct inet6_dev), GFP_KERNEL);
+	ndev = kzalloc(sizeof(struct inet6_dev), GFP_KERNEL_ACCOUNT);
 	if (!ndev)
 		return ERR_PTR(err);
 
@@ -7029,7 +7029,7 @@ static int __addrconf_sysctl_register(struct net *net, char *dev_name,
 	struct ctl_table *table;
 	char path[sizeof("net/ipv6/conf/") + IFNAMSIZ];
 
-	table = kmemdup(addrconf_sysctl, sizeof(addrconf_sysctl), GFP_KERNEL);
+	table = kmemdup(addrconf_sysctl, sizeof(addrconf_sysctl), GFP_KERNEL_ACCOUNT);
 	if (!table)
 		goto out;
 
-- 
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>,
	Vlastimil Babka <vbabka-AlSwsSmVLrQ@public.gmane.org>,
	Shakeel Butt <shakeelb-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
Cc: kernel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org,
	Florian Westphal <fw-HFFVJYpyMKqzQB+pC5nmwQ@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Michal Hocko <mhocko-IBi9RG/b67k@public.gmane.org>,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"David S. Miller" <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
	Jakub Kicinski <kuba-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Paolo Abeni <pabeni-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Luis Chamberlain <mcgrof-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Kees Cook <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	Iurii Zaikin <yzaikin-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH] memcg: accounting for objects allocated for new netdevice
Date: Wed, 27 Apr 2022 13:37:50 +0300	[thread overview]
Message-ID: <7e867cb0-89d6-402c-33d2-9b9ba0ba1523@openvz.org> (raw)

Creating a new netdevice allocates at least ~50Kb of memory for various
kernel objects, but only ~5Kb of them are accounted to memcg. As a result,
creating an unlimited number of netdevice inside a memcg-limited container
does not fall within memcg restrictions, consumes a significant part
of the host's memory, can cause global OOM and lead to random kills of
host processes.

The main consumers of non-accounted memory are:
 ~10Kb   80+ kernfs nodes
 ~6Kb    ipv6_add_dev() allocations
  6Kb    __register_sysctl_table() allocations
  4Kb    neigh_sysctl_register() allocations
  4Kb    __devinet_sysctl_register() allocations
  4Kb    __addrconf_sysctl_register() allocations

Accounting of these objects allows to increase the share of memcg-related
memory up to 60-70% (~38Kb accounted vs ~54Kb total for dummy netdevice
on typical VM with default Fedora 35 kernel) and this should be enough
to somehow protect the host from misuse inside container.

Other related objects are quite small and may not be taken into account
to minimize the expected performance degradation.

It should be separately mentonied ~300 bytes of percpu allocation
of struct ipstats_mib in snmp6_alloc_dev(), on huge multi-cpu nodes
it can become the main consumer of memory.

Signed-off-by: Vasily Averin <vvs-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
---
RFC was discussed here:
https://lore.kernel.org/all/a5e09e93-106d-0527-5b1e-48dbf3b48b4e-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org/
---
 fs/kernfs/mount.c     | 2 +-
 fs/proc/proc_sysctl.c | 2 +-
 net/core/neighbour.c  | 2 +-
 net/ipv4/devinet.c    | 2 +-
 net/ipv6/addrconf.c   | 8 ++++----
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c
index cfa79715fc1a..2881aeeaa880 100644
--- a/fs/kernfs/mount.c
+++ b/fs/kernfs/mount.c
@@ -391,7 +391,7 @@ void __init kernfs_init(void)
 {
 	kernfs_node_cache = kmem_cache_create("kernfs_node_cache",
 					      sizeof(struct kernfs_node),
-					      0, SLAB_PANIC, NULL);
+					      0, SLAB_PANIC | SLAB_ACCOUNT, NULL);
 
 	/* Creates slab cache for kernfs inode attributes */
 	kernfs_iattrs_cache  = kmem_cache_create("kernfs_iattrs_cache",
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index 7d9cfc730bd4..df4604fea4f8 100644
--- a/fs/proc/proc_sysctl.c
+++ b/fs/proc/proc_sysctl.c
@@ -1333,7 +1333,7 @@ struct ctl_table_header *__register_sysctl_table(
 		nr_entries++;
 
 	header = kzalloc(sizeof(struct ctl_table_header) +
-			 sizeof(struct ctl_node)*nr_entries, GFP_KERNEL);
+			 sizeof(struct ctl_node)*nr_entries, GFP_KERNEL_ACCOUNT);
 	if (!header)
 		return NULL;
 
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index ec0bf737b076..3dcda2a54f86 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -3728,7 +3728,7 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
 	char neigh_path[ sizeof("net//neigh/") + IFNAMSIZ + IFNAMSIZ ];
 	char *p_name;
 
-	t = kmemdup(&neigh_sysctl_template, sizeof(*t), GFP_KERNEL);
+	t = kmemdup(&neigh_sysctl_template, sizeof(*t), GFP_KERNEL_ACCOUNT);
 	if (!t)
 		goto err;
 
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index fba2bffd65f7..47523fe5b891 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -2566,7 +2566,7 @@ static int __devinet_sysctl_register(struct net *net, char *dev_name,
 	struct devinet_sysctl_table *t;
 	char path[sizeof("net/ipv4/conf/") + IFNAMSIZ];
 
-	t = kmemdup(&devinet_sysctl, sizeof(*t), GFP_KERNEL);
+	t = kmemdup(&devinet_sysctl, sizeof(*t), GFP_KERNEL_ACCOUNT);
 	if (!t)
 		goto out;
 
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index f908e2fd30b2..e79621ee4a0a 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -342,7 +342,7 @@ static int snmp6_alloc_dev(struct inet6_dev *idev)
 {
 	int i;
 
-	idev->stats.ipv6 = alloc_percpu(struct ipstats_mib);
+	idev->stats.ipv6 = alloc_percpu_gfp(struct ipstats_mib, GFP_KERNEL_ACCOUNT);
 	if (!idev->stats.ipv6)
 		goto err_ip;
 
@@ -358,7 +358,7 @@ static int snmp6_alloc_dev(struct inet6_dev *idev)
 	if (!idev->stats.icmpv6dev)
 		goto err_icmp;
 	idev->stats.icmpv6msgdev = kzalloc(sizeof(struct icmpv6msg_mib_device),
-					   GFP_KERNEL);
+					   GFP_KERNEL_ACCOUNT);
 	if (!idev->stats.icmpv6msgdev)
 		goto err_icmpmsg;
 
@@ -382,7 +382,7 @@ static struct inet6_dev *ipv6_add_dev(struct net_device *dev)
 	if (dev->mtu < IPV6_MIN_MTU)
 		return ERR_PTR(-EINVAL);
 
-	ndev = kzalloc(sizeof(struct inet6_dev), GFP_KERNEL);
+	ndev = kzalloc(sizeof(struct inet6_dev), GFP_KERNEL_ACCOUNT);
 	if (!ndev)
 		return ERR_PTR(err);
 
@@ -7029,7 +7029,7 @@ static int __addrconf_sysctl_register(struct net *net, char *dev_name,
 	struct ctl_table *table;
 	char path[sizeof("net/ipv6/conf/") + IFNAMSIZ];
 
-	table = kmemdup(addrconf_sysctl, sizeof(addrconf_sysctl), GFP_KERNEL);
+	table = kmemdup(addrconf_sysctl, sizeof(addrconf_sysctl), GFP_KERNEL_ACCOUNT);
 	if (!table)
 		goto out;
 
-- 
2.31.1


             reply	other threads:[~2022-04-27 10:57 UTC|newest]

Thread overview: 267+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-27 10:37 Vasily Averin [this message]
2022-04-27 10:37 ` [PATCH] memcg: accounting for objects allocated for new netdevice 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               ` [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=7e867cb0-89d6-402c-33d2-9b9ba0ba1523@openvz.org \
    --to=vvs@openvz.org \
    --cc=cgroups@vger.kernel.org \
    --cc=davem@davemloft.net \
    --cc=fw@strlen.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=keescook@chromium.org \
    --cc=kernel@openvz.org \
    --cc=kuba@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=mhocko@suse.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=roman.gushchin@linux.dev \
    --cc=shakeelb@google.com \
    --cc=tj@kernel.org \
    --cc=vbabka@suse.cz \
    --cc=yzaikin@google.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.