diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-09-12 16:12:08 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2012-09-14 09:57:47 -0700 |
commit | a6f00298b2ceaf50b4ab00e6ee3eb0206ac72fac (patch) | |
tree | 47064dd9fcb48c70b7671dbd93c12281e1022d84 | |
parent | 8a8e04df4747661daaee77e98e102d99c9e09b98 (diff) | |
download | lwn-a6f00298b2ceaf50b4ab00e6ee3eb0206ac72fac.tar.gz lwn-a6f00298b2ceaf50b4ab00e6ee3eb0206ac72fac.zip |
cgroup: Define CGROUP_SUBSYS_COUNT according the configuration
Since we know exactly how many subsystems exists at compile time we are
able to define CGROUP_SUBSYS_COUNT correctly. CGROUP_SUBSYS_COUNT will
be at max 12 (all controllers enabled). Depending on the architecture
we safe either 32 - 12 pointers (80 bytes) or 64 - 12 pointers (416
bytes) per cgroup.
With this change we can also remove the temporary placeholder to avoid
compilation errors.
Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Cc: Gao feng <gaofeng@cn.fujitsu.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: John Fastabend <john.r.fastabend@intel.com>
Cc: netdev@vger.kernel.org
Cc: cgroups@vger.kernel.org
-rw-r--r-- | include/linux/cgroup.h | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 018f819405c8..df354ae079c1 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@ -49,16 +49,10 @@ extern const struct file_operations proc_cgroup_operations; #define IS_SUBSYS_ENABLED(option) IS_ENABLED(option) enum cgroup_subsys_id { #include <linux/cgroup_subsys.h> - __CGROUP_TEMPORARY_PLACEHOLDER + CGROUP_SUBSYS_COUNT, }; #undef IS_SUBSYS_ENABLED #undef SUBSYS -/* - * This define indicates the maximum number of subsystems that can be loaded - * at once. We limit to this many since cgroupfs_root has subsys_bits to keep - * track of all of them. - */ -#define CGROUP_SUBSYS_COUNT (BITS_PER_BYTE*sizeof(unsigned long)) /* Per-subsystem/per-cgroup state maintained by the system. */ struct cgroup_subsys_state { |