On 04/13/2015 12:31 PM, Peter Zijlstra wrote: > On Sat, Apr 11, 2015 at 10:35:37AM +0200, Peter Zijlstra wrote: >> On Fri, Apr 10, 2015 at 07:41:52PM +0530, Preeti U Murthy wrote: >>> The cpus_allowed and mems_allowed masks of a cpuset get overwritten >>> after each hotplug operation on the legacy hierarchy of cgroups so as to >>> remain in sync with the online mask. But there are use cases which >>> expect user configured masks to remain unchanged. >>> >>> For instance, when hotplugged out CPUs are brought back online, they >>> remain idle with none of the existing tasks allowed to run on them since >>> the cpus_allowed mask was overwritten to not include them when they were >>> offlined. >>> >>> We cannot change the legacy hierarchy design now to keep the allowed >>> masks hotplug invariant since it is a user visible change. It was >>> suggested instead to add a knob in the root cpuset directory which >>> allows the user to specify if he wants the user configured masks to be >>> hotplug invariant [1]. This knob will enforce the choice throughout the >>> hierarchy. If the knob is set, the allowed maks will not be varied on >>> hotplug. It is also to to be noted that this knob will appear in the >>> root cgroup mounted on the legacy hierarchy alone since the default >>> hierarchy does not overwrite the allowed masks anyway. >>> >>> Having said this, there are fair reasons to argue that the kernel is not >>> responsible for taking care of user configurations in the face of >>> hotplug. But one of the consequences of the current legacy hierarchy >>> design, is that CPUs are left out from being used at all on online >>> operations. The reason for this is not very obvious at first and several >>> users have raised the issue as a bug. Hence the patch was strongly >>> called for. >>> >>> Moreover the default hierarchy keeps the allowed masks hotplug invariant >>> too. So the patch is not bringing about a fundamental change in the >>> design of cgroups. >> >> What you've not explained is why you can use this knob but not use the >> other new mode? > > Urgh, it looks like the new mode is only available through the default > hierarchy (whatever that is). > > Would it not make sense to make that a mount option and limit the amount > of semantic variants of cpusets? Makes sense. I will send out the next version that enforces the desired behavior through a mount option. Thank you Regards Preeti U Murthy > -- 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