Hello, Aleksa. On Sun, Apr 19, 2015 at 10:22:31PM +1000, Aleksa Sarai wrote: > -static int need_forkexit_callback __read_mostly; > +static int need_fork_callback __read_mostly; > +static int need_exit_callback __read_mostly; These are bitmasks now, right? Let's make them unsigned int. > static struct cftype cgroup_dfl_base_files[]; > +#define for_each_subsys_which(ss_mask, ss, ssid) \ > + for_each_subsys((ss), (ssid)) \ > + if ((ss_mask) & (1 << (ssid))) Maybe using for_each_set_bit() is better? #define for_each_subsys_which(ss_mask, ss, ssid) \ for_each_set_bit(ssid, &(ss_mask), CGROUP_SUBSYS_COUNT) \ if ((ss) = group_subsys[ssid] && false) \ ; \ else > @@ -4932,7 +4947,8 @@ static void __init cgroup_init_subsys(struct cgroup_subsys *ss, bool early) > * init_css_set is in the subsystem's root cgroup. */ > init_css_set.subsys[ss->id] = css; > > - need_forkexit_callback |= ss->fork || ss->exit; > + need_fork_callback |= (bool) ss->fork << ss->id; > + need_exit_callback |= (bool) ss->exit << ss->id; ^ please drop the space here Other than the above minor points, looks good to me. Thanks for the persistence. -- tejun -- 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