From: Li Zefan <lizefan@huawei.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Tejun Heo <tj@kernel.org>, Glauber Costa <glommer@parallels.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>,
Johannes Weiner <hannes@cmpxchg.org>,
LKML <linux-kernel@vger.kernel.org>,
Cgroups <cgroups@vger.kernel.org>,
linux-mm@kvack.org
Subject: [PATCH 7/8] memcg: don't use css_id any more
Date: Mon, 8 Apr 2013 16:23:16 +0800 [thread overview]
Message-ID: <51627E74.5020300@huawei.com> (raw)
In-Reply-To: <51627DA9.7020507@huawei.com>
Now memcg uses cgroup->id instead of css_id. Update some comments and
set mem_cgroup_subsys->use_id to 0.
Signed-off-by: Li Zefan <lizefan@huawei.com>
---
mm/memcontrol.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 947dff1..26ee672 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -574,16 +574,11 @@ static void disarm_sock_keys(struct mem_cgroup *memcg)
#ifdef CONFIG_MEMCG_KMEM
/*
* This will be the memcg's index in each cache's ->memcg_params->memcg_caches.
- * There are two main reasons for not using the css_id for this:
- * 1) this works better in sparse environments, where we have a lot of memcgs,
- * but only a few kmem-limited. Or also, if we have, for instance, 200
- * memcgs, and none but the 200th is kmem-limited, we'd have to have a
- * 200 entry array for that.
- *
- * 2) In order not to violate the cgroup API, we would like to do all memory
- * allocation in ->create(). At that point, we haven't yet allocated the
- * css_id. Having a separate index prevents us from messing with the cgroup
- * core for this
+ * The main reason for not using cgrp_id for this:
+ * this works better in sparse environments, where we have a lot of memcgs,
+ * but only a few kmem-limited. Or also, if we have, for instance, 200
+ * memcgs, and none but the 200th is kmem-limited, we'd have to have a
+ * 200 entry array for that.
*
* The current size of the caches array is stored in
* memcg_limited_groups_array_size. It will double each time we have to
@@ -598,10 +593,10 @@ int memcg_limited_groups_array_size;
* cgroups is a reasonable guess. In the future, it could be a parameter or
* tunable, but that is strictly not necessary.
*
- * MAX_SIZE should be as large as the number of css_ids. Ideally, we could get
+ * MAX_SIZE should be as large as the number of cgrp_ids. Ideally, we could get
* this constant directly from cgroup, but it is understandable that this is
* better kept as an internal representation in cgroup.c. In any case, the
- * css_id space is not getting any smaller, and we don't have to necessarily
+ * cgrp_id space is not getting any smaller, and we don't have to necessarily
* increase ours as well if it increases.
*/
#define MEMCG_CACHES_MIN_SIZE 4
@@ -6065,7 +6060,6 @@ static void __mem_cgroup_free(struct mem_cgroup *memcg)
size_t size = memcg_size();
mem_cgroup_remove_from_trees(memcg);
- free_css_id(&mem_cgroup_subsys, &memcg->css);
for_each_node(node)
free_mem_cgroup_per_zone_info(memcg, node);
@@ -6846,7 +6840,6 @@ struct cgroup_subsys mem_cgroup_subsys = {
.attach = mem_cgroup_move_task,
.base_cftypes = mem_cgroup_files,
.early_init = 0,
- .use_id = 1,
};
#ifdef CONFIG_MEMCG_SWAP
--
1.8.0.2
WARNING: multiple messages have this Message-ID (diff)
From: Li Zefan <lizefan@huawei.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Tejun Heo <tj@kernel.org>, Glauber Costa <glommer@parallels.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>,
Johannes Weiner <hannes@cmpxchg.org>,
LKML <linux-kernel@vger.kernel.org>,
Cgroups <cgroups@vger.kernel.org>,
linux-mm@kvack.org
Subject: [PATCH 7/8] memcg: don't use css_id any more
Date: Mon, 8 Apr 2013 16:23:16 +0800 [thread overview]
Message-ID: <51627E74.5020300@huawei.com> (raw)
In-Reply-To: <51627DA9.7020507@huawei.com>
Now memcg uses cgroup->id instead of css_id. Update some comments and
set mem_cgroup_subsys->use_id to 0.
Signed-off-by: Li Zefan <lizefan@huawei.com>
---
mm/memcontrol.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 947dff1..26ee672 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -574,16 +574,11 @@ static void disarm_sock_keys(struct mem_cgroup *memcg)
#ifdef CONFIG_MEMCG_KMEM
/*
* This will be the memcg's index in each cache's ->memcg_params->memcg_caches.
- * There are two main reasons for not using the css_id for this:
- * 1) this works better in sparse environments, where we have a lot of memcgs,
- * but only a few kmem-limited. Or also, if we have, for instance, 200
- * memcgs, and none but the 200th is kmem-limited, we'd have to have a
- * 200 entry array for that.
- *
- * 2) In order not to violate the cgroup API, we would like to do all memory
- * allocation in ->create(). At that point, we haven't yet allocated the
- * css_id. Having a separate index prevents us from messing with the cgroup
- * core for this
+ * The main reason for not using cgrp_id for this:
+ * this works better in sparse environments, where we have a lot of memcgs,
+ * but only a few kmem-limited. Or also, if we have, for instance, 200
+ * memcgs, and none but the 200th is kmem-limited, we'd have to have a
+ * 200 entry array for that.
*
* The current size of the caches array is stored in
* memcg_limited_groups_array_size. It will double each time we have to
@@ -598,10 +593,10 @@ int memcg_limited_groups_array_size;
* cgroups is a reasonable guess. In the future, it could be a parameter or
* tunable, but that is strictly not necessary.
*
- * MAX_SIZE should be as large as the number of css_ids. Ideally, we could get
+ * MAX_SIZE should be as large as the number of cgrp_ids. Ideally, we could get
* this constant directly from cgroup, but it is understandable that this is
* better kept as an internal representation in cgroup.c. In any case, the
- * css_id space is not getting any smaller, and we don't have to necessarily
+ * cgrp_id space is not getting any smaller, and we don't have to necessarily
* increase ours as well if it increases.
*/
#define MEMCG_CACHES_MIN_SIZE 4
@@ -6065,7 +6060,6 @@ static void __mem_cgroup_free(struct mem_cgroup *memcg)
size_t size = memcg_size();
mem_cgroup_remove_from_trees(memcg);
- free_css_id(&mem_cgroup_subsys, &memcg->css);
for_each_node(node)
free_mem_cgroup_per_zone_info(memcg, node);
@@ -6846,7 +6840,6 @@ struct cgroup_subsys mem_cgroup_subsys = {
.attach = mem_cgroup_move_task,
.base_cftypes = mem_cgroup_files,
.early_init = 0,
- .use_id = 1,
};
#ifdef CONFIG_MEMCG_SWAP
--
1.8.0.2
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Li Zefan <lizefan@huawei.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Tejun Heo <tj@kernel.org>, Glauber Costa <glommer@parallels.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>,
Johannes Weiner <hannes@cmpxchg.org>,
LKML <linux-kernel@vger.kernel.org>,
Cgroups <cgroups@vger.kernel.org>, <linux-mm@kvack.org>
Subject: [PATCH 7/8] memcg: don't use css_id any more
Date: Mon, 8 Apr 2013 16:23:16 +0800 [thread overview]
Message-ID: <51627E74.5020300@huawei.com> (raw)
In-Reply-To: <51627DA9.7020507@huawei.com>
Now memcg uses cgroup->id instead of css_id. Update some comments and
set mem_cgroup_subsys->use_id to 0.
Signed-off-by: Li Zefan <lizefan@huawei.com>
---
mm/memcontrol.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 947dff1..26ee672 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -574,16 +574,11 @@ static void disarm_sock_keys(struct mem_cgroup *memcg)
#ifdef CONFIG_MEMCG_KMEM
/*
* This will be the memcg's index in each cache's ->memcg_params->memcg_caches.
- * There are two main reasons for not using the css_id for this:
- * 1) this works better in sparse environments, where we have a lot of memcgs,
- * but only a few kmem-limited. Or also, if we have, for instance, 200
- * memcgs, and none but the 200th is kmem-limited, we'd have to have a
- * 200 entry array for that.
- *
- * 2) In order not to violate the cgroup API, we would like to do all memory
- * allocation in ->create(). At that point, we haven't yet allocated the
- * css_id. Having a separate index prevents us from messing with the cgroup
- * core for this
+ * The main reason for not using cgrp_id for this:
+ * this works better in sparse environments, where we have a lot of memcgs,
+ * but only a few kmem-limited. Or also, if we have, for instance, 200
+ * memcgs, and none but the 200th is kmem-limited, we'd have to have a
+ * 200 entry array for that.
*
* The current size of the caches array is stored in
* memcg_limited_groups_array_size. It will double each time we have to
@@ -598,10 +593,10 @@ int memcg_limited_groups_array_size;
* cgroups is a reasonable guess. In the future, it could be a parameter or
* tunable, but that is strictly not necessary.
*
- * MAX_SIZE should be as large as the number of css_ids. Ideally, we could get
+ * MAX_SIZE should be as large as the number of cgrp_ids. Ideally, we could get
* this constant directly from cgroup, but it is understandable that this is
* better kept as an internal representation in cgroup.c. In any case, the
- * css_id space is not getting any smaller, and we don't have to necessarily
+ * cgrp_id space is not getting any smaller, and we don't have to necessarily
* increase ours as well if it increases.
*/
#define MEMCG_CACHES_MIN_SIZE 4
@@ -6065,7 +6060,6 @@ static void __mem_cgroup_free(struct mem_cgroup *memcg)
size_t size = memcg_size();
mem_cgroup_remove_from_trees(memcg);
- free_css_id(&mem_cgroup_subsys, &memcg->css);
for_each_node(node)
free_mem_cgroup_per_zone_info(memcg, node);
@@ -6846,7 +6840,6 @@ struct cgroup_subsys mem_cgroup_subsys = {
.attach = mem_cgroup_move_task,
.base_cftypes = mem_cgroup_files,
.early_init = 0,
- .use_id = 1,
};
#ifdef CONFIG_MEMCG_SWAP
--
1.8.0.2
next prev parent reply other threads:[~2013-04-08 8:23 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-08 8:19 [PATCH 0/8] memcg, cgroup: kill css_id Li Zefan
2013-04-08 8:19 ` Li Zefan
2013-04-08 8:19 ` Li Zefan
2013-04-08 8:20 ` [PATCH 1/8] cgroup: implement cgroup_is_ancestor() Li Zefan
2013-04-08 8:20 ` Li Zefan
2013-04-08 8:20 ` Li Zefan
2013-04-08 14:47 ` Michal Hocko
2013-04-08 14:47 ` Michal Hocko
2013-04-08 15:57 ` Tejun Heo
2013-04-08 15:57 ` Tejun Heo
2013-04-08 16:33 ` Michal Hocko
2013-04-08 16:33 ` Michal Hocko
2013-04-08 18:03 ` Michal Hocko
2013-04-08 18:03 ` Michal Hocko
2013-04-08 18:03 ` Michal Hocko
2013-04-08 21:36 ` Tejun Heo
2013-04-08 21:36 ` Tejun Heo
[not found] ` <20130408213646.GB17159-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-09 6:42 ` Michal Hocko
2013-04-09 6:42 ` Michal Hocko
2013-04-09 6:42 ` Michal Hocko
[not found] ` <51627DBB.5050005-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-04-08 15:39 ` Tejun Heo
2013-04-08 15:39 ` Tejun Heo
2013-04-08 15:39 ` Tejun Heo
2013-04-09 3:21 ` Kamezawa Hiroyuki
2013-04-09 3:21 ` Kamezawa Hiroyuki
[not found] ` <51638947.9060303-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2013-04-09 3:29 ` Li Zefan
2013-04-09 3:29 ` Li Zefan
2013-04-09 3:29 ` Li Zefan
2013-04-08 8:21 ` [PATCH 3/8] memcg: convert to use cgroup_is_ancestor() Li Zefan
2013-04-08 8:21 ` Li Zefan
2013-04-08 8:21 ` Li Zefan
[not found] ` <51627DFA.9050007-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-04-09 3:58 ` Kamezawa Hiroyuki
2013-04-09 3:58 ` Kamezawa Hiroyuki
2013-04-09 3:58 ` Kamezawa Hiroyuki
2013-04-09 6:49 ` Michal Hocko
2013-04-09 6:49 ` Michal Hocko
2013-04-09 6:49 ` Michal Hocko
[not found] ` <51627DA9.7020507-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-04-08 8:20 ` [PATCH 2/8] cgroup: implement cgroup_from_id() Li Zefan
2013-04-08 8:20 ` Li Zefan
2013-04-08 8:20 ` Li Zefan
2013-04-08 15:43 ` Tejun Heo
2013-04-08 15:43 ` Tejun Heo
[not found] ` <20130408154319.GD3021-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-04-09 3:12 ` Li Zefan
2013-04-09 3:12 ` Li Zefan
2013-04-09 3:12 ` Li Zefan
2013-04-08 15:48 ` Tejun Heo
2013-04-08 15:48 ` Tejun Heo
2013-04-09 3:56 ` Kamezawa Hiroyuki
2013-04-09 3:56 ` Kamezawa Hiroyuki
[not found] ` <51627DEB.4090104-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-04-09 4:08 ` Kamezawa Hiroyuki
2013-04-09 4:08 ` Kamezawa Hiroyuki
2013-04-09 4:08 ` Kamezawa Hiroyuki
2013-04-08 8:21 ` [PATCH 4/8] memcg: convert to use cgroup_from_id() Li Zefan
2013-04-08 8:21 ` Li Zefan
2013-04-08 8:21 ` Li Zefan
2013-04-08 14:53 ` Michal Hocko
2013-04-08 14:53 ` Michal Hocko
[not found] ` <20130408145333.GL17178-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-09 3:00 ` Li Zefan
2013-04-09 3:00 ` Li Zefan
2013-04-09 3:00 ` Li Zefan
[not found] ` <51627E09.5010605-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-04-09 3:59 ` Kamezawa Hiroyuki
2013-04-09 3:59 ` Kamezawa Hiroyuki
2013-04-09 3:59 ` Kamezawa Hiroyuki
2013-04-08 8:22 ` [PATCH 5/8] memcg: convert to use cgroup->id Li Zefan
2013-04-08 8:22 ` Li Zefan
2013-04-08 8:22 ` Li Zefan
2013-04-08 14:57 ` Michal Hocko
2013-04-08 14:57 ` Michal Hocko
[not found] ` <20130408145702.GM17178-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-09 3:02 ` Li Zefan
2013-04-09 3:02 ` Li Zefan
2013-04-09 3:02 ` Li Zefan
2013-04-09 6:49 ` Michal Hocko
2013-04-09 6:49 ` Michal Hocko
[not found] ` <51627E33.4090107-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-04-09 4:02 ` Kamezawa Hiroyuki
2013-04-09 4:02 ` Kamezawa Hiroyuki
2013-04-09 4:02 ` Kamezawa Hiroyuki
2013-04-08 8:22 ` [PATCH 6/8] memcg: fail to create cgroup if the cgroup id is too big Li Zefan
2013-04-08 8:22 ` Li Zefan
2013-04-08 8:22 ` Li Zefan
2013-04-08 15:01 ` Michal Hocko
2013-04-08 15:01 ` Michal Hocko
2013-04-08 8:23 ` [PATCH 8/8] cgroup: kill css_id Li Zefan
2013-04-08 8:23 ` Li Zefan
2013-04-08 8:23 ` Li Zefan
2013-04-08 15:51 ` Tejun Heo
2013-04-08 15:51 ` Tejun Heo
2013-04-08 14:37 ` [PATCH 0/8] memcg, " Michal Hocko
2013-04-08 14:37 ` Michal Hocko
2013-04-08 14:37 ` Michal Hocko
2013-04-08 8:23 ` Li Zefan [this message]
2013-04-08 8:23 ` [PATCH 7/8] memcg: don't use css_id any more Li Zefan
2013-04-08 8:23 ` Li Zefan
[not found] ` <51627E74.5020300-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-04-08 15:01 ` Michal Hocko
2013-04-08 15:01 ` Michal Hocko
2013-04-08 15:01 ` Michal Hocko
2013-04-09 4:11 ` Kamezawa Hiroyuki
2013-04-09 4:11 ` Kamezawa Hiroyuki
2013-04-09 4:11 ` Kamezawa Hiroyuki
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=51627E74.5020300@huawei.com \
--to=lizefan@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=glommer@parallels.com \
--cc=hannes@cmpxchg.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
--cc=tj@kernel.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.