>>>> @@ -2522,6 +2522,7 @@ static void __init cgroup_init_subsys(struct cgroup_subsys *ss) >>>> printk(KERN_INFO "Initializing cgroup subsys %s\n", ss->name); >>>> >>>> /* Create the top cgroup state for this subsystem */ >>>> + list_add(&ss->sibling, &rootnode.root_list); >>> This is wrong. cgroup_subsys.sibling is a member of the list of >>> subsystems attached to a given root, and rootnode.root_list is a >>> member of the list of hierarchies. Did you actually meant >>> &rootnode.subsys_list? >>> >> I thought I corrected all the s/root_list/subsys_list/ in patch v2. :( >> >> If this patch makes sense, I'll fix it, otherwise we'll going to ask Andrew to drop it from -mm. > > Looking at the existing code, it's not actually broken - but only by accident. > Yes, since it's not broken, I didn't claim this patch as a bug fix that should go into 2.6.28. > We aim to add a link for each cgroup, which we do by finding the first > subsystem in each hierarchy and adding a link for its cgroup, and then > adding a link for dummytop if there weren't any subsystems in the > inactive hierarchy. > > But since rootnode.subsys_list is always empty, we always skip the > inactive hierarchy in the main loop (if it has any subsystems), and > always add the inactive hierarchy afterwards. So everything works out > OK (all hierarchies do get linked), but it's horribly unreadable. > I found this confusion when I was trying to understand this part of code. > Having the subsys_list be correct for the inactive hierarchy is > probably a good thing, so this patch should go ahead (once the typos > is fixed). > I'll fix it. :) _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers