diff options
author | Li Zefan <lizefan@huawei.com> | 2013-09-23 04:56:47 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-09-23 21:44:15 -0400 |
commit | b862783594847a1087cd18c8aeac5727608c3c67 (patch) | |
tree | 925b8f31cff32fe3bcc9422b2e6fddc1bf836641 /mm/memcontrol.c | |
parent | 4219b2da206b3787dea4950ec53ccbc203f50e5e (diff) |
memcg: stop using css id
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>
Acked-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r-- | mm/memcontrol.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index c14039575608..65a46eff5c3d 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -582,16 +582,11 @@ static void disarm_sock_keys(struct mem_cgroup *memcg) | |||
582 | #ifdef CONFIG_MEMCG_KMEM | 582 | #ifdef CONFIG_MEMCG_KMEM |
583 | /* | 583 | /* |
584 | * This will be the memcg's index in each cache's ->memcg_params->memcg_caches. | 584 | * This will be the memcg's index in each cache's ->memcg_params->memcg_caches. |
585 | * There are two main reasons for not using the css_id for this: | 585 | * The main reason for not using cgroup id for this: |
586 | * 1) this works better in sparse environments, where we have a lot of memcgs, | 586 | * this works better in sparse environments, where we have a lot of memcgs, |
587 | * but only a few kmem-limited. Or also, if we have, for instance, 200 | 587 | * but only a few kmem-limited. Or also, if we have, for instance, 200 |
588 | * memcgs, and none but the 200th is kmem-limited, we'd have to have a | 588 | * memcgs, and none but the 200th is kmem-limited, we'd have to have a |
589 | * 200 entry array for that. | 589 | * 200 entry array for that. |
590 | * | ||
591 | * 2) In order not to violate the cgroup API, we would like to do all memory | ||
592 | * allocation in ->create(). At that point, we haven't yet allocated the | ||
593 | * css_id. Having a separate index prevents us from messing with the cgroup | ||
594 | * core for this | ||
595 | * | 590 | * |
596 | * The current size of the caches array is stored in | 591 | * The current size of the caches array is stored in |
597 | * memcg_limited_groups_array_size. It will double each time we have to | 592 | * memcg_limited_groups_array_size. It will double each time we have to |
@@ -606,14 +601,14 @@ int memcg_limited_groups_array_size; | |||
606 | * cgroups is a reasonable guess. In the future, it could be a parameter or | 601 | * cgroups is a reasonable guess. In the future, it could be a parameter or |
607 | * tunable, but that is strictly not necessary. | 602 | * tunable, but that is strictly not necessary. |
608 | * | 603 | * |
609 | * MAX_SIZE should be as large as the number of css_ids. Ideally, we could get | 604 | * MAX_SIZE should be as large as the number of cgrp_ids. Ideally, we could get |
610 | * this constant directly from cgroup, but it is understandable that this is | 605 | * this constant directly from cgroup, but it is understandable that this is |
611 | * better kept as an internal representation in cgroup.c. In any case, the | 606 | * better kept as an internal representation in cgroup.c. In any case, the |
612 | * css_id space is not getting any smaller, and we don't have to necessarily | 607 | * cgrp_id space is not getting any smaller, and we don't have to necessarily |
613 | * increase ours as well if it increases. | 608 | * increase ours as well if it increases. |
614 | */ | 609 | */ |
615 | #define MEMCG_CACHES_MIN_SIZE 4 | 610 | #define MEMCG_CACHES_MIN_SIZE 4 |
616 | #define MEMCG_CACHES_MAX_SIZE 65535 | 611 | #define MEMCG_CACHES_MAX_SIZE MEM_CGROUP_ID_MAX |
617 | 612 | ||
618 | /* | 613 | /* |
619 | * A lot of the calls to the cache allocation functions are expected to be | 614 | * A lot of the calls to the cache allocation functions are expected to be |
@@ -5984,8 +5979,6 @@ static void __mem_cgroup_free(struct mem_cgroup *memcg) | |||
5984 | int node; | 5979 | int node; |
5985 | size_t size = memcg_size(); | 5980 | size_t size = memcg_size(); |
5986 | 5981 | ||
5987 | free_css_id(&mem_cgroup_subsys, &memcg->css); | ||
5988 | |||
5989 | for_each_node(node) | 5982 | for_each_node(node) |
5990 | free_mem_cgroup_per_zone_info(memcg, node); | 5983 | free_mem_cgroup_per_zone_info(memcg, node); |
5991 | 5984 | ||
@@ -6766,7 +6759,6 @@ struct cgroup_subsys mem_cgroup_subsys = { | |||
6766 | .bind = mem_cgroup_bind, | 6759 | .bind = mem_cgroup_bind, |
6767 | .base_cftypes = mem_cgroup_files, | 6760 | .base_cftypes = mem_cgroup_files, |
6768 | .early_init = 0, | 6761 | .early_init = 0, |
6769 | .use_id = 1, | ||
6770 | }; | 6762 | }; |
6771 | 6763 | ||
6772 | #ifdef CONFIG_MEMCG_SWAP | 6764 | #ifdef CONFIG_MEMCG_SWAP |