On 24.08.2012 16:01, Daniel Wagner wrote:
CGROUP_BUILTIN_SUBSYS_COUNT is also gone in this version. This time I trade space for speed. Some extra cycles are spend to identify the modules in the for loops, e.g. for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) { struct cgroup_subsys_state *ss = cgrp->subsys[i]; /* at bootup time, we don't worry about modular subsystems */ if (!ss || (ss && ss->module)) continue; [...] } CGROUP_SUBSYS_COUNT is currently 12 if all controllers are built. I haven't found any other way to get rid of CGROUP_BUILTIN_SUBSYS_COUNT without real dirty preprocessor tricks.
As usual, the good ideas come right after sending patches: enum cgroup_subsys_id { #define SUBSYS(_x) _x ## _subsys_id, #define IS_SUBSYS_ENABLED(option) IS_BUILTIN(option) #include <linux/cgroup_subsys.h> #undef IS_SUBSYS_ENABLED CGROUP_BUILTIN_SUBSYS_COUNT, CGROUP_BUILTIN_SUBSYS_LAST = CGROUP_BUILTIN_SUBSYS_COUNT - 1, #define IS_SUBSYS_ENABLED(option) IS_MODULE(option) #include <linux/cgroup_subsys.h> #undef IS_SUBSYS_ENABLED #undef SUBSYS CGROUP_SUBSYS_COUNT, }; Would that be an acceptable solution? cheers, daniel -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html