On Tue, Jan 31, 2017 at 07:52:37PM +0530, Anshuman Khandual wrote: > At present, top_cpuset.mems_allowed is same as node_states[N_MEMORY] and it > cannot be changed at the runtime. Maximum possible node_states[N_MEMORY] > also gets reflected in top_cpuset.effective_mems interface. It prevents some > one from removing or restricting memory placement which will be applicable > system wide on a given memory node through cpuset mechanism which might be > limiting. This solves the problem by enabling update_nodemask() function to > accept changes to top_cpuset.mems_allowed as well. Once changed, it also > updates the value of top_cpuset.effective_mems. Updates all it's task's > mems_allowed nodemask as well. It calls cpuset_inc() to make sure cpuset > is accounted for in the buddy allocator through cpusets_enabled() check. >
What's the point of allowing the root cpuset to be restricted? -- Mel Gorman SUSE Labs